API for maintenance and delivery of advertising content

ABSTRACT

A system comprises multiple pods coupled to a network, each pod including a data store for storing advertisement campaigns for users, each advertisement campaign containing user information, advertisement information and bid information for requesting presentation of an advertisement upon the occurrence of a predetermined event; and an application program interface capable of accessing the data store; at least one pod including a forecasting component for enabling user selection of the predetermined event; and an optimization component for assisting with selection of the bid information.

PRIORITY CLAIM

This application is a continuation of and incorporates by reference U.S.patent application Ser. No. 11/324,129, entitled “System and Method forAdvertising Management,” filed on Dec. 30, 2005, by inventors Robert J.Collins, et al., which claims priority to U.S. Provisional PatentApplication Ser. No. 60/703,904, entitled “System and Method AllowingInformation Provider Access to a Networked Database Search System,”filed on Jul. 29, 2005, the disclosure of which is hereby incorporatedherein by reference in its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF THE INVENTION

This invention relates in general to advertising, and in particular toadvertising campaign management and optimization systems, methods andapparatuses.

BACKGROUND OF INVENTION

The success of advertising campaigns depends on making efficient use ofan advertising budget so as to maximally influence audience behavior.For example, if a campaign is directed to selling a product, then theadvertiser may seek to use a given budget to purchase advertising so asto cause a maximum amount of consumers to purchase the product.Determining how to efficiently and optimally spend an advertisingbudget, as well as implementing and managing an ongoing advertisingcampaign (or campaigns) utilizing such a budget, however, can pose adaunting challenge to advertisers.

Increasingly, advertising campaigns include online or Internet-basedadvertising. With ever-increasing Internet use, it is only natural thatgreater advertising resources are directed to this audience.Furthermore, Internet-based advertising allows great opportunities foradvertisers to deliver more targeted, relevant ads than conventional,off-line advertising techniques, such as billboards, newspapers and thelike.

An increasingly important area of advertising includes sponsoredlistings. Such listing can be presented, for example, in the form ofsponsored links appearing among the results of a search conducted on anInternet-based search engine, such as Yahoo!, Ask Jeeves, etc. Forinstance, auction-based systems exist in which advertisers bid on-lineto be included among the sponsored search results for a particularsearch term or terms, and for the ranking or prominence of the placementof their sponsored listing among such results.

Online advertisers participating in such an auction-based system mayface the challenge of managing and optimizing potentially frequentbidding on, for example, each of thousands or hundreds of thousands ofsearch terms or groups of search terms. Moreover, an advertiser may needto manage and optimize numerous advertising campaigns across numerousdisparate portals. Furthermore, an advertiser may need to manage andoptimize off-line components of an advertising campaign or campaigns.All this, while the advertiser's skills and energies are needed and maybe better suited for many other different business tasks.

Existing techniques for managing and optimizing advertising campaignsfall far short of providing efficient, effective solutions to theseproblems. Therefore, there is a need in the art for systems and methodsfor managing and optimizing advertising campaigns.

SUMMARY OF THE INVENTION

The present invention is directed towards systems and methods foroptimizing and managing advertising campaigns. According to oneembodiment, the present invention provides a system comprising multiplepods coupled to a network, each pod including a data store for storingadvertisement campaigns for users, each advertisement campaigncontaining user information, advertisement information and bidinformation for requesting presentation of an advertisement upon theoccurrence of a predetermined event; and an application programinterface capable of accessing the data store; at least one podincluding a forecasting component for enabling user selection of thepredetermined event; and an optimization component for assisting withselection of the bid information.

The predetermined event may include a search term. The at least one podmay further include a keyword suggestion module for assisting users inselecting the search term. The advertisement information may includeadvertisement content. The advertisement information may include a linkto advertisement content. The at least one pod further may include aneditorial processing system for automatically reviewing theadvertisement for content issues. The optimization component may includean account monitoring component for controlling advertisement campaignexpenses in relation to budget. The optimization component may include acampaign optimizer for examining advertisement performance data. Eachpod may further include a user interface coupled to the applicationprogram interface for enabling users to access the advertisementcampaigns. The user interface may include a custom user interface. Thesystem may further comprise an advertisement server for selectingadvertisements in response to an advertisement request from anadvertisement channel based on relevance and the bid information, andfor forwarding the advertisements to the advertisement channel.

In accordance with another embodiment, the present invention provides amethod comprising providing multiple pods coupled to a network; storingadvertisement campaigns for users on the multiple pods, eachadvertisement campaign containing user information, advertisementinformation and bid information for requesting presentation of anadvertisement upon the occurrence of a predetermined event; enablingaccess to the data store using an application program interface;enabling user selection of the predetermined event by a forecastingcomponent; and assisting with selection of the bid information using anoptimization component.

The predetermined event may include a search term. The method mayfurther comprise assisting users in selecting the search term by akeyword suggestion module disposed on the at least one pod. Theadvertisement information may include advertisement content. Theadvertisement information may include a link to advertisement content.The method further comprise automatically reviewing the advertisementfor content issues by an editorial processing system disposed on the atleast one pod. The method further comprise controlling advertisementcampaign expenses in relation to budget by the optimization component.The method further comprise examining advertisement performance data bythe optimization component. The method further comprise enabling usersto access the advertisement campaigns by a user interface. The userinterface may include a custom user interface. The method furthercomprise selecting advertisements based on relevance and the bidinformation by an advertisement server in response to an advertisementrequest from an advertisement channel, and forwarding the advertisementsto the advertisement channel.

BRIEF DESCRIPTION OF DRAWINGS

The invention is illustrated in the figures of the accompanying drawingswhich are meant to be exemplary and not limiting, in which likereferences are intended to refer to like or corresponding parts, and inwhich:

FIG. 1 is a block diagram of a marketplace for the purchase anddistribution of advertisements according to one embodiment of thepresent invention;

FIG. 2 is a block diagram of an advertisement campaign data structureaccording to one embodiment of the present invention;

FIG. 3 is a block diagram illustrating an account access data structureaccording to one embodiment of the present invention;

FIG. 4 is a block diagram illustrating an ad campaign management systemaccording to one exemplary embodiment of the present invention;

FIG. 5 is a block diagram illustrating an exemplary system fordistribution of advertisement content according to one embodiment of thepresent invention;

FIG. 6 is a block diagram illustrating an advertisement serving systemaccording to one embodiment of the present invention;

FIG. 7 is a block diagram presenting a pod according to one embodimentof the present invention;

FIG. 8 is a block diagram illustrating a data collection systemaccording to one embodiment of the invention;

FIG. 9 is a block diagram presenting operation of the ad campaignmanagement system according to one embodiment of the present invention;

FIG. 10 is a flow diagram depicting operation of the ad campaignmanagement system according to one embodiment of the invention;

FIG. 11 is a flow diagram depicting operation of the ad campaignmanagement system according to another embodiment of the invention;

FIG. 12 is a flow diagram illustrating a method for accessing the adcampaign management system according to one embodiment of the presentinvention;

FIG. 13A-C are flow diagrams depicting a method for operation of a podaccording with one embodiment of the present invention;

FIG. 14 is a flow diagram depicting method for account replicationaccording to one embodiment of the present invention;

FIG. 15 is a flow diagram depicting method for distribution of theadvertisement content according to one embodiment of the presentinvention; and

FIG. 16 is a flow diagram depicting the collection of visitor state dataaccording to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description of the various embodiments of the presentinvention, reference is made to the accompanying drawings that form apart hereof, and in which is shown by way of illustration variousembodiments of the present invention. It is to be understood that otherembodiments may be utilized and structural changes may be made withoutdeparting from the scope of the present invention.

FIG. 1 illustrates a network configuration in which a system formanagement of advertisement campaigns 105 of the present invention mayoperate. As depicted, a network 100, which in one embodiment of theinvention may comprise one or more local and wide area networks, such asthe Internet, connects customers 120, 125, 130, advertisers 170, 180,190, various advertising channels 140, 150, 160, a marketplace operators115, and an ad campaign management system 105, which in one embodimentmay comprise a plurality of pods 110. As depicted in FIG. 1, the adcampaign management system 105 may be implemented and function as anindependent system. Alternatively, the ad campaign management system105, or various components thereof, may be implemented as a part of themarketplace operator 115. Communication between the advertising channels140, 150, 160, advertisers 170, 180, 190, and marketplace operator 115may be facilitated using APIs 145, 155, 165, 175, 185 and 195.

In general, the ad campaign management system 105 includes one or moretools for facilitating planning, management, optimization, delivery,communication, and implementation of advertisements (“ads”) or adcampaigns distributed through advertising channels 140, 150, 160.Advertising channels 140, 150, 160 may include particular entities,organizations, or the like, that facilitate distribution of ads foradvertised products, services and content of advertisers 170, 180, 190.Advertisers 170, 180, 190 may include entities, individuals, companies,organizations, etc. that arrange for advertisement of their products,services, or content to be presented through advertising channels 140,150, 160 to customers 100, 125, 130, such as a sponsored listingappearing in a set of search results obtained from a search engine.Customers 120, 125, 130 may include users of, or audiences exposed to,resources, media, outlets, search engines, websites, etc. to whomadvertisements of the advertisers 170, 180, 190 are presented throughthe advertising channels 140, 150, 160.

The marketplace operator 115 provides a virtual marketplace (or a set ofvirtual marketplaces), in which advertisers 170, 180, 190 may bid forsearch terms or groups of terms, which, when used in a search by thecustomers 120, 125, 130 in the advertising channels 140, 150, 160, causedisplay of their advertisement listings or links among the displayresults. Also, the advertisers 170, 180, 190 may bid for position orprominence of their listings in a set of search results. In addition,the marketplace operator 115 may provide content match and sponsoredsearch auctions, incoming banner ad auctions to the advertisers 170,180, 190. The marketplace operator 115 may further include an offerexchange used to facilitate arrangements between the advertisingchannels 140, 150, 160 and advertisers 170, 180, 190 relating to ads,including suggesting and matching corresponding advertising channels140, 150, 160 and advertiser offers.

In one embodiment of the invention, the ad campaign management system105 is operative to facilitate placement of the advertiser's search termbids with search-term auctions hosted by marketplace operators 115. Somemarketplace auctions are stable, while others have scores of advertisersconstantly jockeying for position, getting into bidding wars, etc. Someadvertisers change their bids infrequently, while others change theirbids as often as possible. Since the marketplace auctions in eachmarketplace are updated continuously and frequently, the ad campaignmanagement system 105 allows advertisers 170, 180, 190 that havelistings authorized to participate in these auctions to make arbitraryand frequent changes to their bids, as well as bring the listing onlineand offline. When advertising channels 140, 150, 160 requestadvertisement listings, the current or most updated state of the auctiondetermines the listings that will be served to the advertising channels140, 150, 160. Thus, when an advertiser changes the bid associated witha given listing, the ad campaign management system 105 is operative toprovide in real time the updated bids to the virtual search termauctions hosted by the marketplace operators 115.

More detail regarding the aspects of auction-based systems, as well asthe structure, function and operation of the marketplace operator, asmentioned above, can be found in commonly owned U.S. patent applicationSer. No. 10/625,082, filed on Jul. 22, 2003, entitled, “TERM-BASEDCONCEPT MARKET”; U.S. patent application Ser. No. 10/625,000, file onJul. 22, 2003, entitled, “CONCEPT VALUATION IN A TERM-BASED CONCEPTMARKET” filed on Jul. 22, 2003; and U.S. patent application Ser. No.10/625,001, filed on Jul. 22, 2003, entitled, “TERM-BASED CONCEPTINSTRUMENTS”, all of which are hereby incorporated herein by referencein their entirety. In some embodiments, systems and methods associatedwith ad campaign management according to the present invention may bepracticed in combination with methods and systems described in theabove-identified patent applications incorporated by reference.

The ad campaign management system 105 may broadly represent all programcode, software tools, applications, application program interfaces(API), or other tools used in implementing systems and methods accordingto embodiments of the present invention, including systems and methodsassociated with the structure, management and optimization of adcampaigns. Although the ad campaign management system 105 is beingdepicted in FIG. 1 as being separate from the marketplace operator 115,in some embodiments, components of the ad management system 105 may belocated elsewhere, such as at computers associated with advertisingchannels or advertisers, in order to facilitate communication betweenthese entities. Furthermore, the ad campaign management system 105 maybe organized according to one or more pods, which may be distributed indifferent locations around the world to operate in conjunction withgeographically dispersed customers, advertisers, advertising channels,and marketplace operators.

While the ad campaign management system 105 may be used in facilitatingarrangements relating to presentation of advertisements, it is to benoted that in some embodiments, the ad campaign management system 105does not arrange or assist in arranging presentation of advertisements.For example, in some embodiments, the ad campaign management system 105may be used in facilitating management or optimization of ad campaigns,or automatically facilitating the management or optimization of adcampaigns, without actually arranging for presentation ofadvertisements, a task that may be performed by the advertising channels140, 150, and 160.

Through the advertising channels 140, 150, and 160 (e.g., outlets,media, companies, blogs, search engines, Internet portals, etc.)advertisements may be presented. For example, off-line advertisingchannels may include entities through or in connection with whichvarious kinds of off-line ads may be presented, such as televisionstations, radio stations, newspapers or newspaper organizations,magazines or magazine organizations, etc. On-line advertising channelsmay include entities through or in connection with which Internet-basedor Internet-accessible advertisements may be presented, such as searchengines (e.g., Yahoo.com, Google.com, etc.), e-commerce sites (e.g.,Amazon.com, Ebay.com, etc.), or other websites such as news or contentproviding websites (e.g., MSN.com, Nytimes.com).

As shown in FIG. 1, the advertising channels 140, 150, 160 may bedisparate from each other in terms of the manner of ad presentation orad presentation medium they control and may utilize different platforms,programs, applications, hardware, software, or data storage techniqueswith respect to information collection, storage, or communication. Theymay also be different in terms of any data or combinations of data theycollect and store regarding ads, ad campaign performance, or audiencesof the ads, such as customers 120, 125, 130. To that end, the adcampaign management system 105 may need to employ different programmingtechniques or applications in order to process, re-format or translatethe stored advertisements in a format suitable for presentation througha given advertising channel. Likewise, ad campaign performanceinformation received from disparate advertising channels 140, 150, 160and advertisers 170, 180, 190 may need to be processed differently,re-formatted or translated before being stored in the pods 110. Tofacilitate communication with the ad campaign management system 105,advertising channels 140, 150, 160 and advertisers 170, 180, 190 mayutilize custom APIs 145, 155, 165 and 175, 185, 195, respectively.

In one embodiment of the present invention, the ad campaign management105 system may be operative to obtain, collect, utilize, or facilitateutilization of, data from numerous advertising channels and advertisers.Data obtained by the advertising channels 140, 150, 160 and advertisers170, 180, 190 may be useful in managing or optimizing advertisercampaigns. For example, ad campaign performance data or user informationmay be obtained by the advertisers 170, 180, 190 or advertising channels140, 150, 160 through tracking of the customers' visits to theadvertisers' websites or an outlet, portal, or media provided by theadvertising channels 140, 150, 160. Such data provides a rich source ofinformation that may be used, analyzed, or mined to determine likelyfuture performance of ads in various contexts, to various users, atvarious times, etc.

Data sent from the advertising channels 140, 150, 160 and advertiserwebsites to the ad campaign management system 105 may be stored in oneor more pods 110 for further processing and analysis. Such data mayinclude, for example, ad campaign performance information, such asstatistics or metrics indicating or suggesting performance or success ofan ad, a channel (or an ad or ads presented through a channel, etc.), atactic, a campaign, multiple campaigns, component or aspect of acampaign, etc. For example, ad campaign performance information mayinclude information about how frequently a sponsored listing resultretrieved through the given advertising channel 140, 150, 160 getspresented, selected, or results in customer visits to a linkedadvertiser website 170, 180, 190 and how many of those visits result inthe customer making a purchases on the advertiser website 170, 180, 190.Additionally, the collected data may include the number raw clicks onthe ads presented through the advertising channels 140, 150, 160.

In another example, ad campaign performance information collected fromthe advertising channels 140, 150, 160 may include one or more metricsthat provide an indication of value per lead, which indicates how manyor what proportion of clicks on a sponsored link actually result in areturn of any sort to the advertisers 170, 180, 190. Such return dependson the particular advertiser and the advertiser's business objectives.If the advertiser is attempting to sell products, services, or content,for example, return includes purchases at the advertiser's websiteresulting from or attributable to leads (“conversions”). Return is notlimited to sales, however, and may be anything of value to theadvertiser that is gained from the conduct or action of alead-attributable visitor on the advertiser's website.

Tracking and collection of ad performance information can beaccomplished using, for example, HTML tagging of advertiser websites, asdescribed further below with reference to FIG. 8. Additional adperformance data may be provided to the ad campaign management system105 directly by the advertising channels 140, 150, 160. Additionaldescription of customer information and its uses can be found in U.S.Patent Application No. 60/592,799, filed on Jul. 30, 2004, entitled,“METHODS AND SYSTEMS FOR USE IN A COMPUTERIZED SEARCH-BASED ADVERTISINGMARKET”; U.S. Patent Application No. 60/546,699, filed on Feb. 20, 2004,entitled, “COMPUTERIZED ADVERTISING OFFER EXCHANGE”; and U.S. patentapplication Ser. No. 10/783,383, filed on Feb. 20, 2004, entitled,“COMPUTERIZED ADVERTISING OFFER EXCHANGE”, all of which are herebyincorporated herein by reference in their entirety.

FIG. 2 illustrates a data structure for organizing and maintaining useraccount data in the ad campaign management system according to oneembodiment of the present invention. To maintain user account data, thead campaign management system may provide one or more pods in oneembodiment of the present invention. A pod may comprise a data store 200for maintaining user account data as well as a plurality of tools forfacilitating planning, management, optimization, delivery,communication, and implementation of advertisements and ad campaigns,which will be discussed in detail at FIG. 7.

In one embodiment, the data store 200 facilitates hierarchical storageof ad campaign data providing advertisers with multiple levels ofstructure for control of their advertisement content. In one embodiment,the data store 200 may maintain a plurality of user accounts formanaging advertisement content associated with one or more advertisedWeb properties. For example, an advertiser utilizing services of the adcampaign management system may be provided with a master account 205 formanaging one or more advertised Web properties 210. A Web property 210may include a website, or a combination of related websites and pagesfor which the advertiser is advertising. Furthermore, the master account205 may be partitioned into several accounts 220 (as described in moredetail below) for separately managing each advertised Web property 210.

To facilitate tracking and collection of ad performance data from theWeb properties 210, the data store 200 may further maintain custom tags,program code, navigation code, etc. 215. According to one embodiment, atag 215 may comprise a piece of code that is created by the system andplaced on relevant webpages of a given website to allow automatictracking and collection of data indicative of customer session on theadvertiser website. For example, a tag may be used to track user visitsto, interaction with, or purchases from a website to which a usernavigates as a result of clicking on advertisement link associated withthe website. Depending on specific needs and business objective of agiven advertiser, tags may be coded to collect specific informationregarding the customer session that is of interest to the advertiser.Thus, some tags may enable collection of data regarding the number ofraw clicks on the advertiser website, while others tags may tracknumbers of clicks that resulted in conversions, e.g., purchase of aproduct or service from the advertiser website. Those of skill in theart recognize that data collection may be limited to other portions ofthe customer session.

Some embodiments of the invention utilize or may be combined withfeatures or technologies, such as, for example, HTML tagging, datatracking, and related technologies, as described in U.S. patentapplication Ser. No. 09/832,434, filed on Apr. 10, 2001, entitled,“SYSTEM AND METHOD FOR MONITORING THE INTERACTION OF RANDOMLY SELECTEDUSERS WITH A WEB DOMAIN”; and U.S. patent application Ser. No.09/587,236, filed on Jun. 2, 2000, entitled, “SYSTEM AND METHOD FORMONITORING USER INTERACTION WITH WEBPAGES”, both of which areincorporated herein by reference in their entirety.

In one embodiment of the present invention, within a master account 205,an advertiser may maintain one or more accounts 220, which may be usedto manage ad campaign spendings associated with individual Webproperties 210. Thus, accounts 220 allow advertisers to distribute theiradvertising funding between different Web properties 210 and betweenseparate ad campaigns 225. A given ad campaign 225 may include a set ofone or more advertising activities or conduct directed to accomplishinga common advertising goal, such as the marketing or sales of aparticular product, service, or content, or group of products, servicesor content. Two ad campaigns may be considered disparate when the adcampaigns are directed to different advertising goals. For example, anadvertiser may wish to advertise a product for sale and a serviceassociated with this product. Thus, the advertiser may store separate adcampaigns 225 for advertising the product and the service.

In one embodiment of the invention, storage of an ad campaign 225 may befurther subdivided into several ad groups 230. An ad group 230 maycomprise a conceptual compartment or container that includes ads and adparameters for ads that are going to be handled in a similar manner. Anad group 230 may allow for micro-targeting, e.g., grouping ads targetedto a given audience, a demographic group, or a family of products. Forexample, an ad group may be related to a given manufacturer's products,such as Sony, Microsoft, etc. or a family of high-end electronics, suchas TVs, DVDs, etc. There is a number of ways in which a given group ofads may be managed in a similar manner. For example, an advertiser mayspecify that there be a certain markup (e.g., 50%) on items in a givenad group, may want to distribute all those ads in a certain way, or maywant to spend a certain amount of its budget on those advertisements.

In one embodiment, changes made to the parameters of a given ad group230 may apply to all ads within a given ad group. For example, one suchparameter may be pricing. For a sponsored search, an advertiser may setthe default price for the whole ad group but may override the price oneach individual term. Similarly, an advertiser may further specify thatcertain terms are low value, but decide to increase the amount spent onanother term uniformly across all ads in a given ad group. Thus, storageaccording to one or more ad groups 230 enables advertisers to bridge thegap between ad campaigns and the individual ads comprising a given adcampaign.

A given ad may contain one or more items of advertising content that areused to create ads/terms in an ad group, including, but not limited to,creatives (e.g., titles, descriptions,) and destination URLs (plusassociated URL tracking codes). Optionally, a given ad may contain a{KEYWORD} token for substitution in the title, description, or other adcomponent. Furthermore, ads may exist as a template in an ad library(not pictured) that can be reused across ad groups or a local ad that isused and stored only within a specific ad group. The ad library, whichmay be provided by the ad campaign management system, allows advertisersto store ad templates, sharing and reusing them across campaigns and adgroups. Ads in the ad library may be shared within an account, e.g.,each account has its own library.

An ad group 230 may utilize numerous tactics for achieving advertisinggoals. The term “tactic” refers to a given form or type of advertising.For example, in on-line advertising, tactics may include sponsoredsearch result listings 235, banner advertisements 245, content match270, etc. In off-line advertising, tactics may include televisioncommercials, radio commercials, newspaper advertisements, etc. Indifferent embodiments, tactics may include subsets or supersets of thelisted examples or other examples. For instance, on-line advertising isan example of a broader tactic that includes the narrower tactic ofsponsored search result listings. Furthermore, the advertiser mayutilize multiple advertising channels for different tactics. Forexample, the advertiser may utilize sponsored search listings in severalwebsites or portals, such as Yahoo.com, Google.com, MSN.com, etc.

One example of an advertising tactic is sponsored search 235. Accordingto one embodiment of the present invention, sponsored search 235operates within the context of an auction-based system or marketplacethat is used by advertisers to bid for search terms or groups of terms.When the terms are used in a search, the given advertiser's ad listingsor links are displayed among the search results. Advertisers may furtherbid for position or prominence of their listings in the search results.With regard to auction-based sponsored search 235, a given advertisermay provide a uniform resource locator (URL) 240 for the webpage towhich the ad should take the customer if clicked on, as well as the textor creative of the advertisement 245 that should be displayed inconnection with the URL 240. An advertiser may identify one or moreterms 250 that should be associated with the advertisement 245.

Another example of advertising tactic is content match 270. Contentmatch advertisements 280 may be used by the advertiser to complement, oras alternative to, the sponsored search tactic 235. Ads stored accordingto the content match tactic 270 are displayed alongside relevantarticles, product reviews, etc, presented to the customers as result ofa search. For the content match tactic 270, data store 200 stores one ormore URLs 275 identifying the address of a webpage where a given adshould take the customer if clicked on, as well as the text, image,video or other type of multimedia comprising the creative portion of theadvertisement 280 that should be displayed next to the URL 275.

Yet another example of an advertising tactic is banner ad 255. Banner adtactic 255 may be used by the advertiser to complement, or asalternative to, the sponsored search tactic 235 and content match tactic270. In contrast to the sponsored search tactic and content matchtactic, which are usually based on a pay-per-click payment scheme, anadvertiser pays for every display of the banner ad 265, referred to asan impression. Alternatively, if the banner ad displays a phone number,an advertiser may only be billed when a user calls the phone numberassociated with the advertisement (“pay-per-call”). Thus, for the bannerad tactic, the data store 200 maintains a URL 260 to the webpage wherethe ad should take the customer if clicked on, as well as the creativeor the given banner ad 265.

The data store 200 of the ad campaign management system may furtherstore various parameters for each ad group. Such parameters may include,for example, maximum or minimum bids or bidding positions (rankings orprominence of listings) associated with a term or term cluster for theparticular ad group or ads within a given ad group. As described above,in embodiments of an auction-based sponsored search result listingsenvironment, prominence or rank of listings is closely related to adperformance, and therefore a useful parameter in ad campaign management.The rank of a given ad determines the quality of the placement of the adon pages that are displayed to customers. Although details vary byadvertising channel, top-ranked listings typically appear at the top ofa page, the next listings appear in the right rail and additionallistings appear at the bottom of the page. Listings ranked below the topfive or so will appear on subsequent search results pages.

There is a correlation between rank and both number of impressions andclick-through rate (clicks per impression), which provides anopportunity for advertisers to pay more per click (get a higher rank) inorder to get more visitors to their web site. The result is that anadvertiser may determine how much they are willing to bid for eachlisting based on the advertiser's business objectives and the amount oftraffic on the advertised website that the listing generates. Thisinformation may also be stored in the ad campaign management systemaccording to one embodiment of the present invention.

FIG. 3 illustrates one embodiment of the account access data structure300 of the ad campaign management system. As described above,advertisers that utilize services of the ad campaign management systemare provided with a master account 310 for managing their Webproperties, which may include one or more websites. Managing of Webproperties or ad campaigns may include any of a variety of activitiesrelating to overseeing, making, implementing or conducting decisionsregarding one or more ad campaigns, or aspects thereof. An advertiser,however, may delegate design or management of one or more of itsaccounts to an agency 300, which may specialize in such services.

In the event an advertiser delegated management of one or more of itsaccounts to one or more agencies 300, the data store 300 may identifyone or more agencies 300 having access to the account(s) 360 associatedwith the master account 310. In another embodiment, if an agency managesmaster account 310 for several Web properties of several advertisers,agency may limit advertiser access to only his account. Thus the datastore 300 may create a data structure for storing lists of all users 320having access to the account(s) 360. (Hereinafter, advertisers and/oragencies utilizing services of the ad campaign management system may bereferred to as users of the ad campaign management system.) Furthermore,either one of the master account controlling entities may specify typeand degree of access to the accounts 360 available to thenon-controlling parties. For example, advertiser may limit agency'saccesses to particular business areas of the account 360, or specify howmuch agency can spend, what areas they can see, modify, etc. Accessinformation may be stored in the account access data structure 340 andassociate with one or more accounts 360.

To facilitate account access functionality of the ad campaign managementsystem, the account access data structure 340 may be associated with arole data structure 350. Each role 350 has different levels ofpermissive actions. For example, some roles may allow copying of accountdata, some roles may allow reading only, yet other roles may allow toupdate account data, etc. In one embodiment of the invention, the agency330 may control access to the accounts 360 or master accounts 310. Theagency 330 may then delegate through an access table (not shown in FIG.3) access to the account to additional users. Using the access table340, the agency 330 can defer to other organizations or individuals,such as a freelancer, control over some parameters of the advertisingcampaign. Thus, through the use of roles 350 and access tables, levelsof permissive actions and access to the accounts 360 may be specifiedand maintained in the data store 300.

FIG. 4 illustrates an exemplary ad campaign management system accordingto one embodiment of the present invention. The ad campaign managementsystem 400 comprises a plurality of pods 410, 430, 430, 440 thatmaintain one or more user accounts 415, 425, 435, 440 and containadvertisement content associated with one or more advertised Webproperties. In addition, a pod provides to the advertisers 405 aplurality of tools for facilitating planning, management, optimization,delivery, communication, and implementation of advertisements, as isdescribed in greater detail below with reference to FIG. 7. While onlyfour pods are shown in FIG. 4, it is to be understood that fewer oradditional pods may be present in accordance with various embodiments ofthe ad campaign management system 400.

The pods 410, 420, 430, 440 may be located in different geographiclocations to provide services of the ad campaign management system 400to users located in various geographic markets. For example, the adcampaign management system 400 may maintain one pod on each continentwith a pod placed on each coast of the United State. In anotherembodiment, several pods may be located on each continent dependingupon, for example, the number of system users, e.g. advertisers,maintaining their advertisement accounts on a given pod. Thus, forexample, if the capacity of a given pod has reached its maximum limit,e.g., 10,000 user accounts, one or more pods may be added to the adcampaign management system 400 in the given region of the world forserving new users. The use of multiple pods improves system scalabilityin that that more pods may be added to the ad campaign management system400 at any time to expand its geographic coverage and to alleviate loadon the existing pod infrastructure in a particular region. Scalabilityof the pod architecture and ad campaign management system 400 providesimproved system efficiency and performance.

The ad campaign management system 400 is operative to create andmaintain user account data on a pod located closest to the useraccording to one embodiment of the present invention. Thus, for example,if an advertiser 405 is located or most frequently accesses his or herad campaign management account from New York and the system maintainstwo pods in the continental U.S. (a pod 410 on the east coast and a pod420 on the west coast), the user account may be created and maintainedon the east coast pod 410. In this manner, the user account dataincluding advertisement content as well as various tools provided by thead campaign managements system 400 for management of user advertisementsand ad campaigns may be located geographically close to the user. Suchconfiguration decreases network latency associated with the access of anadvertisement account maintained on the pod 410.

According to one embodiment, the ad campaign management system 400 mayreplicate a portion of the user account data across several pods locatedin different geographic regions. For example, a portion of the useraccount 415 may be replicated in additional pods 420, 430, 440 asaccount replicas 425, 435, 445. In one embodiment, only accountinformation, e.g., account identifiers, account access lists, datacollection scripts, or the like, may be replicated across the pods 420,430, 440 but not the actual advertisement content, e.g., advertisements,advertisement and campaign budgets, search term bids, etc. Thus, everypod on the system has information about every user account maintained bythe ad campaign management system 400. Alternatively, all account dataassociated with one or more ad campaigns run in a given geographicmarket may be replicated across several pods located in given regions ofthe World. Such configuration provides necessary account data closer toa given local advertiser.

The replicated account information may be used by the ad campaignmanagement system 400 in several ways. In one embodiment of the presentinvention, if the advertiser 405 attempts to access the ad campaignmanagement system 400 from a region where the pod 440 is located, thesystem may use the user account information 445 stored in the pod 440,to authenticate and redirect the advertiser 405 to the pod 410 where thebulk of the user data is maintained in the account 415. In anotherembodiment, the replicated account information stored in the pods 420,430, 440 may be used to identify the collected ad performance data,e.g., visitor state data, advertising channel data, etc., as belongingto the given account 415, such that the collected performance data maybe sent by the pods 420, 430, 440 to the pod 410 for storage.

The ad campaign managements system 400 may provide advertisers 405 witha uniform set of graphical interfaces (GUI) regardless of the locationfrom where the system is being accessed by the advertisers 405. In oneembodiment, the ad campaign management system 400 may host a website orprovide a web application for enabling advertisers 405 to access theirad accounts maintained on the pods 410, 420, 430, 440. In anotherembodiment, the ad campaign management system 400 may expose one or moreAPIs, such as XML-based APIs, such that advertisers 405 may design acustom user interactive interface to allow access to their accounts onthe pods 410, 420, 430, 440 of the ad campaign management system 400.

FIG. 5 illustrates an exemplary system for distribution of advertisementcontent provided by the ad campaign management system 502 according toone embodiment of the present invention. The ad distribution system 502comprises a distribution component 505 (“distro”) operative to collectadvertisement content or changes thereto from the pods 510, 520, 530 andto distribute the collected advertisements to geographically distributedad serving systems 540, 550, 560. Distro 505 is operative to determinewhich ad servicing system 540, 550, 560 needs to receive the updatedadvertisement listings. For example, the distro component 505 may needto update only U.S.-based ad serving system 540 if the ad campaign dataindicates that the given ad listings are to be run in the U.S. marketonly. Alternatively, the distro 505 may need to update both U.S.-basedand European ad serving systems 540 and 550, respectively, if the adcampaign data indicates that the given ad listings are to be run in theU.S. and European markets.

The ad serving systems 540, 550, 560, which are placed in disparategeographic markets, are operative to serve the advertisement contentreceived from the distro 505 to the various advertising channels. Incontrast to the pods 510, 520, 530, which are placed in the proximity tothe advertisers, the ad serving systems 540, 550, 560 may be located inproximity to the advertising channels. Such configuration minimizesnetwork latency associated with the retrieval and presentation of theadvertisement content to the potential customers.

FIG. 6 illustrates an advertisement serving system according to oneembodiment of the present invention. The ad serving system 640 maycomprise an ad data store 642, sponsored search server 644, a contentmatch server 646 and a redirect server 648. In one embodiment of thepresent invention, the ad data store 642 is operative to store alladvertisement listings received from the distro 605 for a givengeographic market. In one embodiment, the ad data store 642 may compriseone or more relational databases or other data stores that may bemanaged using various known database management techniques, such as, forexample, SQL and object-based techniques. In one embodiment, the ad datastore 642 may be implemented using one or more of the magnetic, optical,solid state or tape drives.

The sponsored search server 644 is operative to process sponsored searchlisting requests from the advertising channels 650, 660, 670. When arequest for a sponsored search listing comes from the advertisingchannels 650, 660, 670, the sponsored search server 644 queries the addata store 642 for any advertisements matching the specified searchterms. If matching ad listings are available in the data store 642, thesponsored search server 644 returns the retrieved advertisements to theadvertising channels 650, 660, 670. The advertising channels 650, 660,670 then display the received sponsored advertisements, which mayinclude the display in descending order based on the bid value for thegiven search terms whereby matching ads with the highest bids aredisplayed first followed by the lower bid advertisements.

The content match server 646 operates in a similar manner in oneembodiment of the present invention. The content match server 646 isoperative to process content match listing requests from the advertisingchannels 650, 660, 670. When a request for a content match listing comesfrom the advertising channels 650, 660, 670, the sponsored search server646 queries the ad data store 642 for advertisements matching thespecified search terms. If matching ad listings are available in thedata store 642, the content match server 646 returns the retrievedadvertisements to the advertising channels 650, 660, 670. Theadvertising channels 650, 660, 670 then display the receivedadvertisements in the order based on the relevancy to the receivedadvertisements to the search terms.

According to one embodiment of the present invention, when a customerclicks on the advertisement provided by the one of the advertisingchannels 650, 660, 670, the customer browser is directed to the redirectserver 648 of the ad serving system 640. The redirect server 648 may logthe click event and redirect the customer browser to the URL of theadvertised web property specified in the displayed advertisements. Theredirect server 648 may determine from the advertisement data a givenpod 610, 620 or 630 that has provided the clicked-on advertisement andsend a message to the given pod indicating the click event, which may bestored in the given pod 610, 620 or 630 for ad performance evaluationpurposes. The given pod 610, 620 or 630 may then implement a datacollection procedure, which is described in greater detail herein withreference to FIGS. 7 and 8.

FIG. 7 illustrates one embodiment of the architecture of a pod accordingto the ad campaign management system of the present invention. The pod700 comprises a plurality of software components and data stores forfacilitating the planning, management, optimization, delivery,communication, and implementation of advertisements and ad campaigns, aswell as for storing and managing user accounts. In one embodiment of theinvention, a pod 700 comprises a campaign data store (“CDS”) 705 forstorage of user account information, ad campaigns and ad content. APIs710 and User Interfaces (UI) 715 are used for reading data from andwriting data to the campaign data store 705; internal APIs 730 provideshared code and functions between the API and UI, as well as facilitateinterface with the campaign data store 705. A keyword suggestioncomponent 720 may assist users in searching for available search terms,an editorial processing system (“EPS”) 725 may be provided to reviewcontent of all new ads, and a pod collection server (“PCS”) 735determines a given pod to which the collected ad campaign performancedata is to be sent. A script server 740 provides scripts for collectionof data indicative of the customer browsing sessions, and an imageserver 745 receives and processes data indicative of the customerbrowsing sessions from the customer web browsers.

The pod may further comprise a channel server 750 operative to receivedata from one or more advertising channels, a business information group(“BIG”) 755 may provide analysis and filtering of raw click data comingfrom the advertising channels through the channel server 750, and anaccount-monitoring component 760 may monitor budgets allocated for eachad campaign. A financial component 765 may be provided for planning andbudgeting ad campaign expenses, a weight optimizer 770 operative tooptimize individual ad performance, and a campaign optimizer 775 may beprovided to optimize performance of the ad campaign. The pod 700 mayalso comprise a third-party analytical feed component 780 for handlingincoming ad performance data from third-party sources, and a qualityscore component 785 to provide metrics for measuring ad performances,and a forecast component 790, which is an analytical tool for predictingkeywords trends. Finally, an online sign-up (“OLS”) component 785provides security services for online transactions involving exchange ofmoneys. Each of the aforementioned components of Pod 700 is described ingreater detail herein.

The CDS 705 is the main data store of the pod 700. In one embodiment onthe present invention, the CDS 705 stores ad campaign account dataincluding, but not limited to, account access and permission lists, userinformation, advertisements, data collected from advertiser websitesindicative of customer browsing sessions, raw click data received fromthe advertising channels, third party analytical feeds, ad campaignperformance data generated by the system, ad campaign optimization data,including budgets and business rules, etc. In various embodiments of theinvention, the CDS 705 stores one or more account data structuresillustrated in FIG. 2 and one or more account access data structuresillustrated in FIG. 3.

Data in the CDS 705 may be stored and accessed according to variousformats, such as a relational format or flat-file format and may bemanaged using various known database management techniques, such as, forexample, SQL-based and Object-based techniques. At the physical level,the CDS 705 may be implemented using combinations of one or more ofmagnetic, optical, solid state or tape drives. Furthermore, in oneembodiment of the invention, CDS 705 may have one or more back updatabases that can be used to serve data to the pod 700 during downtimeof the CDS 705.

The pod 700 may expose one or more APIs 710 and UIs 715 for utilizationby the system users, such as advertisers and agencies, to accessservices of the ad campaign management system, such as for reading datafrom and writing data to the CDS 705. The APIs 710 and UIs 715 may bealso provided through the distro component, as is explained in greaterdetail below. The advertisers and their agencies may use the APIs 710,which in one embodiment of the invention may include XML-based APIs, toaccess the ad campaign management system and data contained therein. Inone embodiment, the UI 715 may comprise a website or web application(s)for enabling user access to the ad campaign management system. The pod700 then also utilizes internal APIs 730, which are shared code andfunctions between the APIs 710 and UI 715, to facilitate interactionwith campaign data store 705.

According to some embodiments, the above described user and applicationprogram interfaces may facilitate management and optimization of adcampaigns, which include, but are not limited to, management of listingsassociated with an auction-based search-term related sponsored searchresults listings marketplace. For example, advertisers use interfaces710 and 715 to access the ad campaign information and ad campaignperformance information saved in the CDS 705, search the information,analyze the information, obtain reports, summaries, etc. Advertisers mayalso change listings or bidding strategies using these interfaces, whichchanges are updated in the CDS 705. Furthermore, the interfaces 710 and715 may be used to perform comparisons of the performance of componentsof ad campaigns, such as performance of particular listings, searchterms, creatives, channels, tactics, etc. While functionality and use ofapplication program interfaces of the pod is described with reference toan auction-based search term-related sponsored listings context, it isto be understood that, in some embodiments, these interfaces may be usedwith regard to off-line or non-sponsored search ad campaigns and adcampaign performance, or combinations of on-line and off-line adcampaigns information, as well.

A keyword suggestion component 720 provides keyword suggestions throughthe interfaces 710 and 715 for assisting users with ad campaignmanagement. In one embodiment of the invention, the keyword suggestioncomponent 720 assists users to search for available search terms. Asdescribed above, in an auction-based system or marketplace, advertisersbid for search terms or groups of terms, which, when used in a search bycustomers, will cause display advertisement listings or links among thesearch results. The keyword suggestion component 720 providessuggestions to advertisers regarding terms on which they should bebidding. In one embodiment, the keyword suggestion component 720 mayanalyze at actual searches conducted over a prior time window, e.g., thepast month, and provide a suggestion based upon previous searches. Inanother embodiment, the keyword suggestion component 720 may analyzeterms that other advertisers of similar products or services are biddingon and suggest these terms to the advertiser. In yet another embodiment,the keyword suggestion component 720 may determine terms that customerswho bought similar products or services use in their searches andsuggest these terms to the advertiser. Alternatively, or in conjunctionwith the foregoing, the keyword suggestion component 720 may maintain atable of terms divided into several categories of products and servicesand allow advertisers to browse through and pick available terms. Thekeyword suggestion component 720 may use other techniques for assistingadvertisers in the term selection process, such as suggesting a new termto the advertiser if the advertised products and services are unique.Other techniques for keyword suggestion that may be implemented by thekeyword suggestion component 720 are described in U.S. patentapplication Ser. No. 11/295,166, filed on Dec. 6, 2005, entitled“SYSTEMS AND METHODS FOR MANAGING AND USING MULTIPLE CONCEPT NETWORKSFOR ASSISTED SEARCH PROCESING” and assigned attorney docket number7346/41 and U.S. Provisional Application No. 60/736,133, filed on Nov.9, 2005, entitled “MODULAR OPTIMIZED DYNAMIC SETS” and assigned attorneydocket number 5598-260PROV.

The editorial processing system (“EPS”) 725 may ensure relevance ofadvertisements and mitigates risks to advertisers' listings before alisting can participate in the auction. In general, the EPS 725 reviewsnew or revised ads. In one embodiment of the invention, the EPS 725applies a set of business rules that determines accuracy and relevanceof the advertiser listings. These rules may be applied automatically bythe EPS 725 or through a human editorial review. The EPS 725 may, e.g.,through the use of one or more blacklists, detect inappropriate contentin the advertiser listings or illegally used trademark terms. In the oneembodiment, the EPS 725 responds with annotation such as rejected,approved, rejected but suggested changes, etc.

In one embodiment of the invention, the EPS 725 may comprise a quickcheck component. Quick check component performs a preliminary or a“quick check” to determine whether to reject an advertisementautomatically before it is submitted to a human editor and stored in thecampaign data store 705. The API 710 or UI 715 may invoke the quickcheck component so that advertiser can receive instant feedback. Forexample, use of prohibited words, such as “best” in the submittedadvertisement, may be quickly detected by the quick check component andrejected, obviating the need for human editorial review, which may bedetermined through the use of one or more blacklists. In contrast, usingwords such as gambling, adult services, etc., the quick check componentmight determine that the ad requires a more thorough editorial review.One of the benefits of the quick check component is the rapid provisionof feedback to the advertiser, which enables an advertiser to revise thelisting right away and thus to expedite review by the human editor.

The pod 700 may also comprise a channel server 750, which is operativeto receive and process data received from an advertising channel, suchas Yahoo!, Google or MSN. This data may include, but is not limited to,customer profiles, historical customer behavior information, number ofraw impressions, click cost, search-term related data, etc. Additionaldescription of customer information and its uses can be found in U.S.patent application No. 60/546,699 and Ser. No. 10/783,383, previouslyincorporated by reference. The channel server 750 may further beoperative to re-format the received data into a format supported by thead campaign management system and to store the reformatted data into thecampaign data store 705.

In one embodiment of the present invention, the pod 700 may alsocomprise a business information group (“BIG”) component 755. The BIG 755is operative to receive cost, click, and impression data that is cominginto the pod 700 from various sources including the redirection servers,channel server 750, pod collection server 735 and third-party analyticsfeeds component 780. In one embodiment of the present invention, the BIG755 may also perform aggregation and filtering on raw data impressionsthat are coming into the pod 700, storing the collected and processeddata into the campaign data store 705. In other embodiments, the BIG 755may also perform internal reporting, such as preparing business reportsand financial projections according to techniques known to those ofskill in the art. To that end, the BIG 755 may communicate with theaccount-monitoring component 760, which is described in greater detailherein.

In one embodiment of the present invention, the pod 700 may furthercomprise an account-monitoring component 760 operative to performbudgeting and campaign asset allocation. For example, theaccount-monitoring component 760 may determine how much money is left ina given advertiser's account and how much may be spent on a particularad campaign. In one embodiment of the present invention, theaccount-monitoring component 760 may employ a budgeting functionality toprovide efficient campaign asset allocation. For example, an advertisermay set ad campaign budget for a month to a fixed amount, such as $500.The account-monitoring component 760 may implement an ad-bidding schemethat gets actual spending for that month as close to the campaign budgetas possible. One example of a bidding scheme employed by the accountmonitoring component 760 would be to lower the advertiser's bids toreduce how often the advertiser's ads are displayed, thereby decreasinghow much the advertiser spends per month, which may be performeddynamically. Another example of budgeting by the account-monitoringcomponent 760 is to throttle the rate at which advertisements are beingserved (e.g., a fraction of the time it is served) without changing theadvertiser's bid (whereas in the previous example the bid was changed,not rate at which advertisements were served). Another example ofthrottling is to not serve an ad as often as possible but put it outaccording to a rotation.

A financial component 765 may be provided with the pod 700, which may bean accounting application for planning and budgeting ad campaignexpenses. Using the financial component 765 advertisers may specifybudgets and allocate campaign assets. The financial component 765provides an advertiser with the ability to change distribution ofcampaign budget and to dynamically allocate moneys between differentcampaigns. The financial component 765 may also present advertisers withinformation regarding the amount of funds left in a given account andhow much may be spend on a particular ad campaign. In some embodiments,the financial component 765 may further be operative to provideadvertisers with information regarding profitability, revenue, andexpenses of their ad campaigns. The financial component 765 may, forexample, be implemented using one or more financial suites from Oracle,SAP, PeopleSoft, or other financial software developers.

In one embodiment of the present invention, pod 700 may further comprisean online sign-up (OLS) component 795. The OLS component 795 may beoperative to provide advertisers with a secure online sign-upenvironment, in which secure information, such as credit cardinformation, can be exchanged using various know encryption techniques.In one embodiment, the OLS component 795 may establish a secureconnection between the advertiser computer and the pod 700 using SHTTP,SSL or any other public-key cryptographic techniques known to those ofskill in the art.

A quality score component 785 may be provided that is operative to calla quality score for given advertisement. A quality score is one ofseveral ad performance parameters that may be used by the search servingcomponents, such as advertising channels and search engines, to quantifythe relative quality of the displayed ads. Thus, a quality score for agiven advertisement may be calculated by the ad serving system and fedinto the ad campaign management system through the quality scorecomponent 785 in accordance with one embodiment of the presentinvention. In some embodiments, the quality score may be displayed tothe advertiser, so that advertiser may revise the ad to improve itsquality score. For example, if an advertisement has a high qualityscore, then the advertiser knows that they should not try to spend moneyand time trying to perfect it. If an advertisement has low qualityscore, however, it may be revised to improve its quality score.

In one embodiment of the present invention, the pod 700 may furthercomprise a forecasting component 790, which is an analytical tool forassisting the advertiser with keyword selection. In some embodiments,the forecasting component may be operative to predict keywords trends,forecast volume of visitor traffic based on the ad's position, as wellas estimating bid value for certain ad positions.

The forecasting component 790 may be operative to analyze pastperformance and to discover search term trends in the historical data.For example, the term “IPOD” did not even exist several years ago, whilenow it is a very common term in searches. The forecasting component 790may perform macro-trending, which may include forecasting to determineterms that are popular in a particular region, for example, California,or with particular demographic, such as mates. In yet anotherembodiment, the forecasting component 790 may provide event-relatedmacro- and micro-trending. Such events may include, for example,mother's day, Christmas, etc. To perform event-related trending forterms related to, for example, Mother's Day or Christmas, theforecasting component 790 may look at search patterns on flower-relatedterms, wrapping paper terms, or other relevant terms. In otherembodiments, the forecasting component 790 may analyze the historic datato predict the number of impressions or clicks that may be expected foran ad having a particular rank and may be operative to predict a bidvalue necessary to place the ad in a particular position.

The pod 700 may also comprise a weight optimizer 770 operative to adjustthe weights (relative display frequency) for rotating elements as partof alternative ad (“A/B”) functionality that may be provided by the adcampaign management system in some embodiments of the present invention.The A/B testing feature allows an advertiser to specify multiplevariants of an attribute of an ad. These elements may include creative(title, description and display URL), destination (landing URL) andperhaps other elements such as promotions and display prices. Morespecifically, when an end-user performs a search, the ad campaignmanagement system assembles one of the possible variants of the relevantad and provides it to the advertising channel for display to theend-user. The ad campaign management system may also attach trackingcodes associated with the ad, indicating which variant of each attributeof the ad was actually served. The behavior of the end-user then may beobserved and the tracking codes may be used to provide feedback on theperformance of each variant of each attribute of the ad.

In determining the weight for a particular element, the weight optimizercomponent 770 may look at actual performance of ads to determine optimalads for delivery. The weight optimizer component 770 may operate in twomodes: Optimize and Static. According to optimize mode, the weight(frequency of display) of each variant changes over time according tomeasured outcomes associated with each variant. Thus, the weightoptimizer component 770 is responsible for changing the weights based onthe measured outcomes. The weight optimizer component may also operateaccording to static mode whereby the weights (frequency of display) ofeach variant are not changed by the system. This mode may provide theadvertiser with data pertaining to measured outcomes. The advertiseralso has the option to manually change the weights.

A campaign optimizer component 775 may be provided to facilitate adcampaign optimization to meet specific ad campaign strategies, such asincreasing number of conversions from displayed ads while minimizing thecost of the campaign. To that end, according to some embodiments of thepresent invention, the campaign optimizer component 775 may use datareceived from the channel server 750, forecasting component 790, thirdparty analytics feed component 790, quality score component 785, and BIG755 to determine an appropriate amount to bid on given ads, how toallocate the budget across different ads, how to spend money over theentire period of the campaign, etc. Furthermore, campaign optimizationnot only focuses on executing ads efficiently, but also performingarbitrage between ads across various channels and tactics to determinewhere the limited ad campaign budget is most effective.

The campaign optimizer component 775 may analyze the obtained analyticsdata, including ad campaign information, ad campaign performanceinformation, as well as potentially other information, such as userinformation, to facilitate determining, or to determine, an optimal adcampaign strategy. Herein, an “optimal” ad campaign strategy includesany ad campaign strategy that is determined to be optimal or superior toother strategies, determined to be likely to be optimal, forecasted oranticipated to be optimal or likely to be optimal, etc. In someembodiments, optimizing is performed with respect to parameters, or acombination of parameters, specified by an advertiser, suppliedautomatically or partially automatically by the ad campaignsfacilitation program, or in other ways.

In addition to the foregoing, ad campaign strategy may include anycourse of action (including, for example, changing or not changingcurrent settings or strategy) or conduct, or aspects or componentsthereof, relating to an ad campaign. An ad campaign strategy may furtherinclude a recommendation regarding a course of action regarding one ormore aspects or parameters of an ad campaign, and may include animmediate course of action or set of parameters, or a course of actionor set of parameters for a specified window of time. For example, anoptimal ad campaign strategy in the context of an auction-based searchresult listings situation, may include recommendations relating tobidding and bid hiding rates in connection with an auction ormarketplace relating to search term or group of terms in connection withsponsored listings.

The campaign optimizer component 775 may be operative to analyze adcampaign performance information to determine an optimal ad campaignstrategy. Ad campaign performance information may include a variety ifinformation pertaining to historical performance of an ad campaign,channel, tactic, or ad or group of ads. Ad campaign performanceinformation can include many types of information indicating orproviding a suggestion of how effectively ads, or ads presented though aparticular channel, etc., influence or are likely to influence user orconsumer behavior. For example, an adverting channel, such as Yahoo!,may collect performance information with respect to a particularsponsored search result listing. The information may include a number orpercentage of viewers who clicked on the sponsored search resultlisting, or who shopped at or purchased a product at the advertisersWebsite as a result of the listing, etc.

The campaign optimizer component 775 may be operative to analyze the adcampaign information to determine an optimal ad campaign strategy. Thead campaign information may include campaign objectives orbudget-related conditions or constraints, or can include informationspecifying, defining, or describing ads themselves, channels, tactics,etc. With regard to auction-based sponsored search result listings, thead campaign information can include bidding parameters such as maximumor minimum bids or bidding positions (rankings or prominence oflistings) associated with a term or term cluster, for instance, asfurther described below. Such ad campaign information can also includecampaign objectives, quotas or goals expressed, for example in metricssuch as ROAS (return on ad spend), CPI (clicks per impression), or inother metrics, and with respect to individual ads, terms or term groups,channels, tactics, etc.

The campaign optimizer component 775 may further include bidoptimization functionality, which may be used by the system to determinea desirable or optimal bid for a listing, such as a paid search result.The bid optimization functionality of the campaign optimizer component775 may optimize bids according to targets and constraints on the bids,which may be set by the user or other system components. The constraintsmay include a maximum bid and a minimum bid. The targets may beassociated with the listing and can be specified in terms of one or moremetrics related to the performance of the listing. The campaignoptimizer component 775 may analyze recent past analytics in connectionwith the metric and specify a bid recommendation forecasted by the bidoptimizer functionality to achieve the target or get as close to thetarget as possible. In some embodiments, the campaign optimizercomponent 775 can also provide a recommendation for a listing, which mayinclude a maximum bid and an update period, which update period can be atime between maximum bid hiding updates.

To facilitate ad campaign management and optimization, the pod 700 isalso operative to collect visitor state data from the advertiserwebsites in accordance with one embodiment of the ad campaign managementsystem of the present invention. To that end, the pod 700 utilizes a podcollection server 735, script server 740, and image server 745 tocollect visitor state data and to store the same in the campaign datastore 705. The collected visitor state data may then be used by variouscomponents of the pod 700 including, but not limited to, campaignoptimizer component 775, forecasting component 790, and BIG 755 togenerate ad campaign performance data in accordance with variousembodiments of the present invention.

The methods of data collection in accordance with various embodiments ofthe present invention may include, but are not limited to, fullanalytic, campaign only, conversion counter and sampling. In oneembodiment, full analytics collection provides the most robustcollection method through the collection of marketing-based and freesearch-based leads. As a result, the advertiser may see a completepicture of how leads and conversions are generated. Specifically, thiscollection method provides a full funnel report indicating how visitorsgo from being a lead, to browser, to shopper, and, finally, to a payingcustomer. Visitor state storage on the campaign data store 705 may alsoallow for repeat and return customer report data and for a full suite ofaccreditation methods.

In another embodiment, the campaign-only analytics collection method issimilar to full search but only paid marketing events are tracked andresult events generated from free search are ignored or discarded. Thismethod has the advantage of providing funnel and repeating visitorreports as well as a reduced data collection and storage rate.Campaign-only analytics method provides balance of rich report data andreduced collection, processing, and storage cost.

In yet another embodiment, conversion counter is the most simpleanalytics data collection technique available. With conversion counteranalytics, the advertiser places a tag on pages where revenue isgenerated. The image server 745 places the lead “stack” in a cookie,which may be used to accredit the proper term/creative to the conversionevent. This data collection mechanism generates enough data to provideoptimization on creative weighting. It should be further noted that inone embodiment a direct accreditation method may be applied toconversion counter. In the conversion counter approach, visitor statemay be stored on the client device, e.g., as a client side cookieminimizing the effect on pod 700 load and data storage requirements.Alternatively, the conversion counter approach may implement server-sidestorage of visitor state, which allows for improved performance andscalability at the cost of additional storage in a given pod 700. Inanother embodiment, a sampling method is utilized whereby only a randomnumber of unique visitors, for example, 10 percent, are tracked,reducing data collection and storage requirements.

In order to allow for accreditation of the lead generation source to aconversion event, the state of the customer session on the advertiser'swebsite may be maintained. Accreditation is the process by which all themarketing events are tied to a specific, or set of specific, marketingactivities. There are two known approaches that may be utilized forstorage of visitor state: client-side cookies and server-side database.Cookies may be used as an exemplary client-side visitor state storage.When cookies are used to store visitor state one of two methods may beused to set the state recorded in the cookie. A redirection serverprovided by the ad serving system of the present invention may be usedon the lead generating event to add the visitor state to the cookie atthe click event. Alternatively, a collection server may set the cookieat the time of a lead event.

A server-side database, such as the CDS 705, may also be used to storevisitor state. Using server side storage in a database offers the highefficacy rates but at the additional cost of the storage. Using serverside storage of visitor state allows the ad campaign management systemto have more advanced accreditation models, which could allow forassist-based accreditation. Cookies-off users may still be traced asunique visitors so they can still be tracked (although at a reduced rateof accuracy) and thus are able to be included. Collection eventprocessing time is decreased because the events may be logged andsubsequently processed at a later point in time. Advantageously, withvisitor state stored in the campaign data store, valuable marketing datacan be collected and analyzed for internal use.

The pod 700 may also utilize a combination of the above-describedclient-side cookies and server-side database techniques to collect andmaintain visitor state data. In particular, as indicate above the pod700 utilizes pod collection server 735, script server 740, and imageserver 745 to collect visitor state data and to store the same in thecampaign data store 705. In one embodiment of the invention, the podcollection server 735, script server 740 and image server 745 may beimplemented, for example, as Java servlets, C++ objects or any otherprogramming technology known to those of skill in the art.

Operation of the above-identified data collection components of the pod700 is described in greater detail with reference to FIG. 8, which is ablock diagram depicting tag-based data tracking and collection inaccordance with one embodiment of the present invention. Generally,tagging techniques are used to facilitate automated tracking andcollection of user activities or actions on the advertised Web property.The collected information may be of great value to advertisers oradvertising agencies in assessing or analyzing the performance ofsponsored and content match listings as well as banner ads. Furthermore,in some embodiments, the ad campaign management system of the presentinvention may utilize the collected information to optimize performanceof one or more advertisements and ad campaigns.

Some embodiments of the invention utilize or may be combined withfeatures or technologies, such as, for example, HTML tagging, datatracking, and related technologies, as described in U.S. patentapplication Ser. No. 09/832,434, filed on Apr. 10, 2001, entitled,“SYSTEM AND METHOD FOR MONITORING THE INTERACTION OF RANDOMLY SELECTEDUSERS WITH A WEB DOMAIN,” and U.S. patent application Ser. No.09/587,236, filed on Jun. 2, 2000, entitled, “SYSTEM AND METHOD FORMONITORING USER INTERACTION WITH WEBPAGES”, both of which are herebyincorporated herein by reference in their entirety.

As depicted in FIG. 8, an advertised Web property, which may include oneor more websites having on or more webpages 815, receives page requesttraffic, which may include leads 825, which are hits on the webpage 815resulting from users clicking on a search result listing of theadvertiser, as well as other, non-lead traffic 830. After visiting theinitial webpage 815, visitors may then click on links to navigate toanother webpage, or pages, associated with the Web property. At somepoint, the user may, for example, place goods in a shopping cart, oractually make a purchase. The progress of the user deeper into theadvertiser's (or other entity's) Web site, ultimately culminating, insome instances, in a purchase, is called “funneling”.

The data collection component of the pod may recognize several stages offunneling, namely: impressions, leads, browser, shopper and conversion.An impression may be generated when the Internet users view the actualad. A lead may be generated when the user clicks on the displayed ad. Abrowser event may be generated when following a lead, the userdetermines that what is being displayed relevant or related to what heseeks and proceeds to the second page within advertiser Web property.Thus, browser state may be triggered by the second page view. Shopperstate may triggered when a user goes from non-secure to secure Internetconnection, such as placing the item in his shopping cart and/orentering his credit card information. The secure connection may beestablished for example using SHTTP, SSL or any other public-keycryptographic techniques. Finally, a conversion may occur when thepurchase is completed. For conversion to occur, the transaction may notnecessarily involve money.

The use of a funnel allows data collection for only “relevant” or“important” events. For example, when a user is navigating Yahoo!Shopping in search for a new DVD player, the ad campaign managementsystem of the present invention may not be interested in collecting dataon every click a user makes on a displayed advertisement of a DVDplayer. Often, users click tens of offerings and then rejects them bynavigating away from the advertised website. An advertiser may determinethat it does not need to collect data on each of those clicks. Instead,the data only on, for example, the conversion, such as the actualpurchase of a DVD player on the advertised website, or the advertisementthat generated the conversion event is gathered by the ad managementsystem of the present invention.

To facilitate collection of the visitor state data, tags 820 may beembedded into one or more webpages 815. In some embodiments, HTML-basedtags 820 may be used to facilitate automatic tracking, collection, anduse of traffic and collection of information that is then sent, forexample, over the Internet 810 to the pod 800 for storage in thecampaign data store 805. Using tags 820, leads may be distinguished fromother traffic, and, depending in part on the configuration of theadvertiser's webpage, tracked information sent to the pod 800 may, forexample, include the number, frequency, and time of hits on variouswebpages, the deepest stage into the funnel for particular leads,whether shopping was conducted, whether a purchase was made, the type oramount of a purchase, and other information. In some embodiments, newpages added to the advertiser website may be automatically appropriatelytagged.

Tags 820 may facilitate the passing of transaction ID values to the pod800. A transaction ID value may be a unique value that is generated as aresult of user activity, such as shopping activity, at an advertiserwebsite. Transaction ID values may facilitate distinguishing betweenmultiple shop and conversion events that occur within a single browsersession. For example, if a second conversion event for the same revenueamount in a single browser session is detected, it may not be obviouswhether such a purchase has actually occurred, or if the visitor hasjust refreshed or returned to the webpage with the conversion tag.However, generating a new transaction ID value for the secondtransaction makes it clear that a second conversion has occurred. Inembodiments that do not use transaction ID values, an assumed limitationof one shopper and one conversion per browser session may be utilized.

In some embodiments, tagging may include placing a universal tag on allwebpages 815 in the header of given web pages. Further, conversion tagsmay be placed above the universal tags on the transaction completionpage, such as a “Thank You” page or a purchase confirmation page. Theuniversal tag may consist of code used to capture any customer-specificinformation associated with the tracked HTML page. The universal tag mayalso identify and gather statistics for the pages in which it has beenembedded. Additional tags may be utilized in other embodiments of thepresent invention. For example, a shopper tag may be used to indicatethat a visitor has visited a page that indicates that the advertiserconsiders the visitor to be a shopper. In the absence of a shopper tag,a default rule may be used to specify that a transition of a visitorfrom an unsecured page to a secured page indicates that the visitor is ashopper.

The tag 820 may be operative to request a piece of JavaScript from thescript server 840, called an instrumentation script, which marks thepages that are to be tracked. The instrumentation script may bedownloaded the first time an end user views a tagged page. Theinstrumentation script may for example be downloaded into the visitor'sbrowser on the first page load for the session. After the first load,the browser caches the script, which creates cookie. The script may notbe downloaded again unless the user flushes his or her browser cache.When the browser leaves a tagged page, the instrumentation script may behalted, preventing further data collection.

In one embodiment of the present invention, the script server 840 isresponsible for sending an instrumentation script, which may beJavaScript-based program code. The instrumentation script may depend onvarious client product and configuration settings. The delivered scriptmay be used for filtering out unneeded events and may be operative togather user web browser data points and delivering using image requestson events of interested to the advertiser. This allows script server 840to act as a front line data cleanser system utilizing code at the clientbrowser computer to perform future processing. The script server 840 mayalso deliver “null” scripts in the case an account cancels or defaultson our product. This functionality may prevent collection data frombeing received for invalid accounts.

The script server 840 may maintain a conversion counter for computingnumber of conversion events. For conversion counter customers, thescript server 840 may incur the additional overhead of checking thecookie value to determine if a lead event for the account is in theusers cookie stack. Should no lead event exist, the “null” script may beserved so that no event traffic may be generated. Should a lead eventexist for the account, a conversion counter script may be served. In oneembodiment of the present invention, the conversion counter script mayset a flag to notify the image server 845 to examine the cookie todetermine the accreditation.

The content of the account scripts may be independently cached on agiven script server 845 with a configurable portion to be maintained inmemory to speedup the lookup process. A process on the script server 845may be responsible for connecting to the campaign data store 805 andretrieving any account and script information that may have changedsince the last refresh. The script server 845 may have sufficient memoryallocated to keep the retrieved data cached. Furthermore, in oneembodiment, a timed process may be executed periodically, e.g., every 15minutes, on the script server 840 to retrieve any changed or addedaccount information from the campaign data store 805.

The instrumentation script may collect user activity and send it to theimage server 845 using a 1×1 .gif image request. In some embodiments,the instrumentation script may return two data packets per page view:one packet when the page loads and one packet when the page unloads(e.g., when the visitor transitions to subsequent page). Each datatransmission occurs entirely in the background with no visitor impact,even for those with slow connections to the network. If a datatransmission fails to take place, the instrumentation script may haltand stop gathering data.

The image server 845 may be operative to receive from theinstrumentation scripts 1×1 pixel image requests, which include the datapayload indicative of the customer browsing session on the advertisedwebsite. In one embodiment, the image server 845 may be operative toextract the payload data from the image request, analyze the extracteddata, and deliver the payload data to the pod collection server 835. Inone embodiment, the image server 845 may bundle up several minutes ofpayload data before transmitting it to the pod collection server 835.The image server 845 may also use a cache mechanism similar to that ofthe script server 840 to enable fast retrieval of account informationfrom the campaign data store 805 and to provide for crash recoveryduring database down time according to one embodiment of invention.

In addition to the foregoing, the image server 845 may be operative toscan incoming events for a conversion counter flag to determine whetherto examine the cookie for lead accreditation data. If the conversioncounter flag is set, the image server 845 may need to perform additionalprocessing in examining the cookie to determine the account leadaccreditation data. The image server 845 may be further responsible forprocessing the image request events, determining any previous visitorstate, and ultimately applying any proper accreditation of the event tosome marketing activity.

A pod collection server 835 may be operative to receive the analyticspayload provided by the image server 845. The pod collection server 935may be further operative to retrieve any campaign data from the payloadfor storage in the campaign data store 805. In one embodiment, the adcampaign management system utilizes several pod collection servers 835to improve system scalability. Multiple pod collection servers 835 mayappear logically to the image servers 845 as a single device orcomponent. Accordingly, the pod collection servers 835 may need tohandle the situation where the image server 835 incorrectly sends thevisitor state data to a different pod collection server. To handle thisscenario, a request log database table (not depicted) may be kept tosynchronize actions across several pod collection servers 835, such thatan incorrectly sent data may be promptly forwarded to the correct podcollection server 835.

It should be noted that in some embodiments of the present invention allaforementioned components of the pod may be implemented on a singlecomputer system, and, according to other embodiments, as a plurality ofdistributed computer systems interconnected by one or more networks,such as the Internet as well as combinations of one or more wide areanetworks, local area networks, personal area networks, etc. Furthermore,each of the components of the pod may be implemented as a computerprogram, which may be executed under the control of an operating system,such as Windows, Mac OS, UNIX, etc. Generally, the computer programs ofthe present invention may be tangibly embodied in a computer-readablemedium, e.g., one or more data storage devices attached to a computer.Under the control of an operating system, the CPU may load computerprograms from data storage devices into computer RAM for subsequentexecution. The computer programs comprise instructions which, when readand executed by the CPU, cause the computer to perform the stepsnecessary to execute elements of the present invention.

FIG. 9 is a block diagram depicting ad campaign management systemaccording to one embodiment of the present invention. As depicted, thead campaign management system 900 comprises pods 920 and 930 operativeto maintain user account data and to provide various tools forfacilitating planning, management, optimization, delivery,communication, and implementation of advertisements and ad campaigns.The ad campaign management system 900 may also comprise a backendprocessing system 910, which is a powerful computing platform operativeto support various services provided by pods 920 and 930. In oneembodiment, the processing system 910 may comprise a plurality of CPUsrunning in parallel to perform computationally intensive processesassociated with ad campaign optimization and other services provided bythe ad campaign management system 900 of the present invention.

An advertiser 905 may access the ad campaign management system 900 bylogging into the pods 920 using the provided interfaces 921 and 922.Depending on the advertiser access level, the pods 920 may retrieve fromCDS 923 advertisement content associated with the advertiser account andprovide one or more tools or services for managing advertisementcampaigns. For example, to provide advertiser 905 with the ad campaignperformance data, the pod 920 may invoke a BIG component 924 providingbusiness reports and financial projections. Through the BIG 924, theadvertiser 905 may obtain access to an account-monitoring component 925to view, for example, the amount of money remaining in a given account.The advertiser 905 may also have an option of adding money to theparticular ad campaign account or moving available funds between theaccounts using a financial component 926. The changes made to theaccount may be stored in CDS 923. These changes may also be replicatedinto the pod 930 to update user account replica stored in CDS 933.

The ad campaign management system 900 may also allow advertiser 905 toview ad campaign performance data. For example, the advertiser 905 maywish to obtain statistics on the number of impressions or clicks thatmay be expected for an ad displayed in a particular position in variousgeographic markets and an estimated bid that needs to be placed on aparticular search term for a given ad to be displayed in the desiredposition. To provide this service, the pod 920 may invoke an instance ofa forecast component 917. The forecasting service is computationallyexpensive and time consuming because it requires collection and analysisof large amounts of data. To that end, the forecasting component 917 maydelegate this task to the backend processing system 910, which mayexecute an instance of forecasting component to perform the requestedtask. The backend processing system may in turn connect to pod 930 toretrieve data required for performing the requested forecast.

The ad campaign management system 900 may also facilitate placement ofuser advertisements in various geographic markets around the worldaccording to one embodiment of the present invention. To that end, theadvertiser 905 may wish to utilize keyword suggestion functionalityprovided by the ad campaign management system 900 to identify the bestterms for associating with a given ad. The pod 920 may invoke a keywordsuggestion component 928 to provide advertiser with the requestedservice. In turn, the keyword suggestion component 928 may forwardadvertiser's request to the backend processing system 910 forprocessing. The keyword suggestion components 918 of the backendprocessing system 910 may perform the requested computation and returnkeyword suggestions to the keyword suggestion component 928 to bedisplayed to the advertiser 905.

In the event the advertiser 905 decides to submit a new ad for placementin the search results in various geographic markets, the content of agiven ad may first be examined by the ad campaign management system 900in accordance with one embodiment of the present invention. Thus, a newad submitted by the advertiser 905 to the pod 920 may be first sent toan editorial processing system (“EPS”) 927 for a review. It should benoted that due to the diverse laws and Internet regulations in variousgeographic markets where the new ad might appear, diverse editorialconsiderations may need to apply to the advertisement in accordance withone embodiment of the present invention. To that end, the EPS 927 mayforward the submitted advertisement to EPS component 917 of the backendprocessing system 910. The EPS 917 may perform the requested editorialprocessing by applying the required business rules of the variousgeographic markets. If the ad fails this test, the EPS 917 may generateand return to the advertiser 905 comments and suggestions for revisingthe advertisement to comply with the given rules. The advertiser 905 maythen revise his ad in accordance with the provided suggestions and tosubmit the revised advertisement to the ad management system 900 againfor a more thorough, human editorial review.

FIG. 10 is a flowchart depicting the high level operation of the adcampaign management system in accordance with one embodiment of thepresent invention. At step 1005, the ad campaign management system maycreate a master account for a new advertiser. The advertiser may use themaster account to manage one or more ad campaigns for the advertised Webproperties, which may comprise one or more advertiser's websites.Furthermore, at this step, ad campaign management system may collectfrom the advertiser user profile information, login information, accountaccess information, which may include a list of individuals or agenciesthat may have full or limited access to the master account, userpreferences as well as other personal information, etc.

At step 1005, the advertiser may also set up one or more accounts toindividually manage and budget the advertised Web properties. For eachaccount, the advertiser may also set up individual access lists tospecify access permissions for various individuals or agencies that mayassist advertiser with managing of the advertised Web properties.Furthermore, the advertiser may create one or more advertisements andorganize them in one or more ad campaigns based on various parameters,which may include advertising activities or conduct directed toaccomplishing a common advertising goal, such as the marketing or salesof a particular product, service, or content, or group of products,services or content. Furthermore, the advertiser may arrange the ads ineach ad campaign into one or more ad groups. A given ad group mayinclude advertisements handled in a similar manner, such as anadvertising tactic, e.g., sponsored search, content match and banner adimpression.

The collected account data is stored by the ad campaign managementsystem in a pod, step 1010. The account information data may then bereplicated to the pods around the world, step 1015. The advertisementcontent is then distributed using data distribution component distro toserving systems around the world, step 1020. Next, the ad campaignmanagement system may tag advertised Web properties to facilitatecollection of ad performance data, step 1025. For example, a tag may beused to track user visits, interactions, or purchases from a website towhich a user navigates as a result of clicking on a given advertisementlink. Depending on the specific needs and business objectives of a givenadvertiser, tags may be coded to collect specific information about acustomer session that is of interest to the advertiser. Thus, some tagsmay enable collection of data on number of raw clicks on the advertiserwebsite, while others tags may track numbers of clicks that resulted inconversions, e.g., purchase of a product or service from the advertiserwebsite. In one embodiment of the present invention, HTML tags may beused to collect visitor state data from the advertiser website.

In one embodiment of the invention, at step 1030, the ad managementsystem may submit to the marketplace operators around the worldadvertiser's bids on various search terms, which, may be optimized bids.When customers use terms in a search, the advertiser's listings or linksare displayed among the search results. In some embodiments, the bidsmay be submitted for content match auctions, sponsored search auctions,and banner ad auctions. Furthermore, the ad management system mayfacilitate offer exchange arrangements at this step between advertisersand various advertising channels relating to ads, including suggestingand matching corresponding advertising channels and advertiser offers.

Next, the ad campaign management system may receive ad requests fromvarious advertising channels, which may include particular entities,organizations, or the like, that facilitate distribution of ads for theadvertised products, services and content of advertisers, such as searchengines (e.g., Yahoo.com, Google.com, etc.), e-commerce sites (e.g.,Amazon.com, Ebay.com, etc.), or other websites such as news or contentproviding websites (e.g., MSN.com, NYTimes.com, etc.), step 1030. Inresponse to these requests, the ad serving systems may submit one ormore ads to the advertising channels, step 1035. The submitted ads maybe displayed along with the search results based on the magnitude of thebids made by the advertiser. Thus, the listings of the advertiser whohas made the highest bid in a virtual auction on a given search term maybe displayed first; the listing of the second highest bidder may bedisplayed second, and so on.

In response to providing ads, step 1035, the ad campaign managementsystem may collect customer session data from the advertiser websites tofacilitate ad campaign management and optimization, step 1040. Forexample, a given pod may separately perform collection of customersession data. To that end, in one embodiment, a pod may utilize a podcollection server, script server, and image server to collect visitorstate data and to store the same in a campaign data store on a givenpod. As described above, in various embodiments, the ad campaignmanagement system may utilize several different data collection methods,including but not limited to, full analytics, campaign only, conversioncounter, sampling method and various combinations thereof.

Visitor state data collected from the advertised websites may also beanalyzed to determine ad campaign performance, step 1045. For example,the collected data may be processed to indicate the number of or whatproportion of clicks on a sponsored link actually result in return ofany sort to the advertiser. In addition, the ad campaign managementsystem may generate various ad campaign performance metrics from thecollected visitor state data. The generated metrics may include, but arenot limited to, value per lead, return per lead, conversion rate, numberof hits served by the advertiser website, cost per acquisition (“CPA”),return on advertising spend (“ROAS”), etc. In other embodiments, thegenerated ad campaign performance information may include many types ofinformation indicating or providing a suggestion of how effectively ads,or ads presented though a particular advertising channel, etc.,influence or are likely to influence user or consumer behavior. Forexample, an adverting channel, such as a given Yahoo! property, maycollect performance information with respect to a particular sponsoredsearch result listing. The information may include a number orpercentage of viewers who clicked on the link, or who shopped at orpurchased a product at the advertisers website as a result of thelisting, etc. Yet in other embodiments, in analyzing ad and ad campaignperformance, ad campaign management system may also collect variousanalytics data from advertising channels as well as third partyanalytics feeds, quality score data, and many other forms of ad campaignanalytics. These data may be combined with the collected visitor statedata in assessing ad campaign performance in accordance with variousembodiments of the present invention.

The ad campaign management system may use the generated ad campaignperformance data to optimize performance of the one or more adcampaigns, as well as the individual ad performance, step 1050. Forinstance, the system may attempt to increase the number of conversionsfrom the displayed listings while minimizing cost of the campaign to theadvertiser. To that end, in one embodiment, the ad campaign managementsystem may utilize a campaign optimizer component. The campaignoptimizer component may be operative to analyze visitor state data aswell as the data received from the advertising channels, forecastingcomponent, quality score component as well as the third party analyticsfeeds to determine how much to bid on which ads, how to allocate thecampaign budget across different ads, how to spend money over the entireperiod of the campaign, etc.

The campaign optimization may also perform arbitrage between ads acrossvarious channels and tactics to determine where the limited ad campaignbudget is most effective. In other embodiments, the ad campaignmanagement system may also utilize a weight optimizer to optimizeperformance of individual ads. The weight optimizer may adjust weights(relative display frequency) for different elements and attributes ofthe ads displayed to the users and attach tracking codes to the ads,indicating which variant of each attribute of the ad was actuallyserved. The behavior of the end-user then may be observed and thetracking codes may be used to provide feedback on the-performance ofeach variant of each attribute of the ad. Furthermore, various othertechniques known to those of skill in the art may be used to optimizeperformance of the individual ads and ad campaigns.

The ad campaign man agent system may present the collected ad campaignperformance information to the advertiser, which may be presented inresponse to an advertisement request, step 1055. In particular, thesystem may allow advertiser to access the ad campaign information and adcampaign performance information saved in the pods around the world,search the information, analyze the information, obtain reports,summaries, etc. The stored ad campaign performance data may be presentedto the user in various forms, including but not limited to, charts,tables, list, etc. In one embodiment, the system may provide a fullfunnel report that will provide a key view into how visitors of theadvertiser website progress from being a lead, to browser, to shopper,and, finally, to a paying customer. In some embodiments, the ad campaignmanagement system of the present invention may provide comparisons ofperformance of components of ad campaigns, such as performance ofparticular listings, search term creatives, channels, tactics, etc. Inother embodiments, the ad campaign management system may provideadvertiser with various ad campaign performance metrics, such as valueper lead, return per lead, conversion rate, number of hits served by theadvertiser website, cost per acquisition (“CPA”), return on advertisingspend (“ROAS”), etc. Furthermore, based on this information, the systemmay allow advertisers to make changes to the account, such as changelistings or bidding strategies, change budgets allocated betweendifferent ad campaigns, create new ads and ad campaigns, etc.

FIG. 11 is a flowchart depicting a method for using the ad campaignmanagement system in accordance with one embodiment of the presentinvention. When a user logs into the ad campaign management system, thesystem may determine whether the user is attempting to access anexisting master account associated with one or more of the advertisedWeb properties, step 1102. If the user is new to the system and does nothave a master account yet, the ad campaign management system may createa new master account for the given user, step 1104. At this step, adcampaign management system may also compile a user profile, which mayinclude login information, account access information, which may includea list of individual or agencies that may have full/limited access tothe master account, user preferences as well as other user information.

At step 1106, the ad campaign management system may determine whetherthe given master account has one or more Web properties associatedtherewith. If a newly created master account does not have at least oneWeb properties associated therewith, the ad campaign management systemmay request the user to identify one or more Web properties to beassociated with the given master account, step 1108. In one embodimentof the invention, the user may specify one or more Web properties to beassociated with the new master account. Alternatively, a Web propertymay include a website, or a combination of related websites and pagesfor which the advertiser is advertising.

The one or more webpages associated with the specified Web property mayalso be tagged to allow automatic tracking and collection of dataindicative of customer session on the advertised website, step 110. Invarious embodiments, depending on specific needs and business objectiveof a given advertiser, tags may be coded to collect specific informationabout the customer session that is of interest to the advertiser. Thus,some tags may enable collection of data on number of raw clicks on theadvertiser website, while others tags may track numbers of clicks thatresulted in conversions, e.g., purchase of a product or service from theadvertiser website. Furthermore, using tags, leads can be distinguishedfrom other traffic, and, depending in part on the configuration of theadvertiser's webpage, tracked information may include the number,frequency, and time of hits on various webpages, the deepest stage intothe funnel for particular leads, whether shopping was conducted, whethera purchase was made, the type or amount of a purchase, and otherinformation.

The ad campaign management system may determine whether an account hasalready been created for each Web property associated with the masteraccount, step 1112. In one embodiment, the ad campaign management systemof the present invention may maintain a separate account for each Webproperty associated with the master account. An account may be used tomanage ad campaign spendings associated with individual Web properties.If an account has not been created yet, the ad campaign managementsystem may create, at step 1114, a new account for each Web propertyassociated with master account of a given advertiser. The advertiser mayalso specify different access parameters and access lists for a givennew account.

The system then determines whether any ad campaigns have been createdfor the given Web property, step 1116. An ad campaign may include a setof one or more advertising activities or conduct directed toaccomplishing a common advertising goal, such as the marketing or salesof a particular product, service, or content, or group of products,services or content. Two ad campaigns may be considered disparate whenthe ad campaigns are directed to different advertising goals. Forexample, an advertiser may wish to advertise a product for sale and aservice associated with this product. Thus, the advertiser may storeseparate ad campaigns for advertising the product and the service. If noad campaigns exist on the system for the given Web property, at step1118, the ad campaign management system may prompt the advertiser tocreate one or more ad campaigns.

In one embodiment of the present invention, at step 1120, the adcampaign management system may determine whether any ad groups have beencreated for a given ad campaign. An ad group may be a conceptualcompartment or container that includes ads and ad parameters for adsthat are going to be handled in a similar manner. For example, an adgroup may be directed to a given audience, a demographic group, or afamily of products. For example, an ad group may be related to a givenmanufacturer's products, such as Sony, Microsoft, etc. or a family ofhigh-end electronics, such as TVs, DVDs, etc. There is a number of waysin which a given group of ads may be managed in a similar manner. Forexample, an advertiser may specify that there be a certain markup (e.g.,50%) on items in a given ad group, may want to distribute all those adsin a certain way, or may want to spend a certain amount of its budget onthose advertisements. If no ad groups exist in a given ad campaign, atstep 1122, the system may prompt the advertiser to create one or more adgroups for a given ad campaign.

In one embodiment of the present invention, at step 1124, the adcampaign management system may determine the type of a given ad groupand prompt the user to provide necessary element and parameters for theads in a given ad group. In one embodiment, at step 1126, one or more adgroups may be associated with the sponsored search tactic. For theseads, the advertiser may provide one or more search terms associated withthe given listing, step 1128, a URL to the webpage where the ad shouldtake the customer to if clicked on, step 1130, and the text of thecreative, step 1138. In another embodiment, one or more ad groups may beassociated with the content match tactic, step 1132. For these ads, theadvertiser may provide a URL to the webpage where the ad should take thecustomer to if clicked, step 1134, and the text of the creative, step1138. Yet in another embodiment, at step 1136, one or more ad groups maybe associated with the banner ads. For these ads, the advertiser mayonly provide, at step 1138, the text of the creative.

FIG. 12 a flowchart depicting a method for accessing ad campaignmanagement system in accordance with one embodiment of the presentinvention. At step 1205, the user of the system may log into the masteraccount of the ad campaign management system, which may cause the systemto consult an access list to determine user type and the associatedaccount access privileges, step 1220. In one embodiment, two types ofusers may be recognized that have access to one or more accountsassociated with on or more Web properties: advertisers and agencies. Anadvertiser may have set up the master account and delegated aresponsibility for managing its various Web properties to one or moreagencies. In this scenario, the advertiser may have access to allaccounts, and the agency may have access to one or more designatedaccounts. In another embodiment, an advertising agency may have createdthe master account and uses it to offer advertising service toadvertisers. In this scenario, the agency may have access to allaccounts and may allow limited account access to the advertiser. Thus,based on the login information, the ad campaign management system maydetermine, at steps 1215 and 1220, whether the user is an agency oradvertiser and which accounts may the user access.

A user role may be ascertained, which determines the degree of access tothe given account, step 1225. Each role may define different levels ofpermissive actions: some roles may allow copying of account data, someroles may allow reading only, yet other roles may allow to updateaccount data, etc. For example, an advertiser may delegate access to theparticular areas of the given account to the advertising agency anddelegate access to another area of the account to another organizationor individual, such as a freelance graphic designer. Different userroles may be store by the ad campaign management system in an accesstable of a given account. Thus, at step 1230, the ad campaign managementsystem may consult its access table to ascertain the role of the user.Then, at step 1235, the system may grant a full account access to theuser or, as indicated at step 1240, may grant a limited access to theaccount.

FIG. 13A-C are flowcharts depicting operation of the ad campaignmanagement system according to one embodiment of the present invention.The system may present a user with an interactive user interface (UI)that may provide user access to master account maintained by the adcampaign management system of the present invention, step 1302. Thesystem may then ascertain whether any Web properties are associated withthe master account, step 1304. If the master account is new and does nothave any Web properties associated therewith, or the user desires toassociate a new Web property with the master account, the system may tagthe identified Web properties to enable automatic tracking andcollection of data indicative of customer session, step 1306.

The ad campaign management system may then determine whether a given Webproperty has any ads or ad campaigns associated therewith and whetherthe user wishes to create new ad listings, step 1308. If the given Webproperty has one or more ads associated therewith and the user does notwish to create new ads, the system may present ad campaign performancedata to the user and to allow the user to manage its accounts, step1310. If the user wishes to create a new ad campaigns or to add new adsto the existing ad campaigns, the system may provide the user with adifferent set of tools or interactive UI that may allow the user to makechanges or create new ads. Thus, in one embodiment of the invention, forthe sponsored search listings, the system may offer to the user akeyword suggestion function to search for available search terms, step1312. If the user decides to use the provided keyword suggestionfunction, the system, may generate a list of available search termsrelated to the given ad, step 1314. Alternatively, the user may declineto use the offered keyword suggestion function and may submit the newlisting to the system, step 1316.

The ad campaign management system may submit the new ad to the editorialprocessing system (“EPS”) that will apply various business rules todetermine the accuracy and the relevance of the new ad, step 1318. TheEPS may, for example, detect inappropriate content in the advertiserlistings or illegally used trademark terms, step 1320. In someembodiments, the EPS may perform a quick check to determine whether toreject the ad automatically before it is submitted to a human editor forreview. In one embodiment, the EPS may respond with annotation such asrejected, approved, rejected but suggested changes, etc. If a given adis rejected, the user may revise the ad based on the annotations andcomments supplied by the EPS, step 1322. Once the ad complies withvarious business rules applied by the system, the ad may be store in acampaign data store in a given pod, step 1324. The system may thencheck, step 1326, if the user wishes to create more ads and to repeatsteps 1312 through 1326 for every new or revised ad submitted by theuser.

The user may identify budgets available for the advertisement of a givenWeb property and, more specifically, for the ad campaigns associatedwith the given Web property, step 1328. In some embodiments, theadvertiser may specify minimum and maximum bid values that may be placedby the ad campaign management system in virtual auctions hosted byvarious marketplace operators around the world. Furthermore, theadvertiser may specify various business rules and bidding schemes to beused by the ad campaign management system in managing and optimizing itsad campaign performance. The system may submit the budget allocationdata to the account-monitoring component for processing and evaluation.Furthermore, in one embodiment, the budget and bid data may be submittedto the bid and campaign optimization components of the ad campaignmanagement system for processing and evaluation.

The ad campaign management system may determine whether an accountcontains sufficient budget, step 1330. If the allocated budget isinsufficient, the system may notify the advertiser of insufficientaccount balance, step 1332, and end the process. Depending on thecampaign budget, the system may employ different bidding techniques tooptimize campaign budget. For example, the ad campaign management systemmay employ a bidding scheme pursuant to which advertiser bids may belowered to reduce frequency of the displayed ads, which may decreaseadvertiser spendings. Another example of budgeting is to throttle therate at which advertisements are being served (e.g., a fraction of thetime it is served) without changing the advertiser's bid (whereas in theprevious example the bid was changed, not rate at which advertisementswere served). Another example of throttling is to not serve an ad asoften as possible but put it out according to a rotation.

The ad campaign management system may then submit advertiser bids to oneor more virtual auctions hosted by various marketplace operators aroundthe world, step 1334. The bids may be submitted based on one or more ofthe aforementioned strategies. The advertisers may auction and bid forsearch terms or groups of terms, which, when used in a search bycustomers, cause display of their advertisement listings or links amongthe display results. Also, advertisers may bid for position orprominence of their listings in the search results. The advertisers mayparticipate in various auctions, such as content match auction,sponsored search auctions, banner ad auctions, etc. Furthermore, adcampaign management system may proxy various arrangements and dealsbetween the advertiser and the advertising channels relating to ads,including suggesting and matching corresponding advertising channels andadvertiser offers.

The ad campaign management system may then distribute all advertisementsto the ad serving systems around the worlds, step 1336. Based on theresults of the virtual search term auctions, the ad serving system maysubmit to the advertising channels one or more ads related to theInternet user search terms, step 1338. The submitted ads may bedisplayed along with the search results based on the magnitude of bidsposted by the advertiser. Thus, the listings of the advertiser who hasmade the highest bid in a virtual auction on a given search term may bedisplayed first; the listing of the second highest bidder may bedisplayed second, and so on.

The ad campaign management system may then collect from the tagged Webproperties visitor state data, step 1340. For example, each pod mayseparately perform collection of visitor state data. To that end, in oneembodiment, a pod may utilize a pod collection server, script server,and image server to collect visitor state data. The ad campaignmanagement system may utilize different filtering techniques forcollecting only visitor state data relevant to the given advertiserbusiness objectives, step 1342. To that end, the system may utilizeseveral different data collection methods, including but not limited to,full analytics, campaign only, conversion counter, sampling method andvarious combinations thereof. The collected visitor state data may bestored in an ad campaign data store of a given pod, step 1344.

The ad campaign management system may analyze the collected visitorstate data to evaluate ad campaign performance, step 1346. For example,the collected data may be processed to indicate how many or whatproportion of clicks on a sponsored link actually result in return ofany sort to the advertiser. In some embodiments, the ad campaignmanagement system may generate from the collected visitor state datavarious ad campaign performance metrics such, as value per lead, returnper lead, conversion rate, number of hits served by the advertiserwebsite, cost per acquisition (“CPA”), return on advertising spend(“ROAS”), etc. In other embodiments, the generated ad campaignperformance information may include many types of information indicatingor providing a suggestion of how effectively ads, or ads presentedthough a particular advertising channel, etc., influence or are likelyto influence user or consumer behavior. The information may include anumber or percentage of viewers who clicked on the link, or who shoppedat or purchased a product at the advertisers website as a result of thelisting, etc.

The ad campaign management system may supplement visitor state data withvarious forms of third-party analytics data received, for example, fromthe advertising channels, search engines, Internet service providers(“ISP”), etc., step 1348. This data may be combined with the collectedvisitor state data by the ad campaign management system in assessing adcampaign performance in accordance with various embodiments of thepresent invention. The ad campaign management system may also use thecollected visitor state data and third-party analytics data to optimizeperformance of one or more advertisements and ad campaigns according toone embodiment of the present invention.

The ad campaign management system may also perform quality scoring ofindividual ads, step 1350. The quality score may be calculated by thesearch serving components and fed into the ad campaign managementsystem. In some embodiments, the quality score may be displayed to theadvertiser, so that advertiser may revise the ad to improve its qualityscore. For example, if an ad has a high quality score, then theadvertiser knows that they should not try to spend money and time tryingto perfect the ad. However, if an ad has low quality score, it may berevised to improve ad's quality score.

The ad campaign management system may also perform term forecasting,step 1352. In some embodiments, the forecasting may be used to predictkeywords trends, forecast volume of visitor traffic based on the ad'sposition, as well as estimating bid value for certain ad positions. Theforecasting may be also used in some embodiments to analyze pastperformance and to discover search term trends in the historical data.In yet another embodiment, the forecasting may provide event-relatedmacro- and micro-trending. In other embodiments, the forecasting may beused to analyze the historic data to predict the number of impressionsor clicks that may be expected for an ad having a particular rank. Inanother embodiment, the forecasting may be used to predict a bid valuenecessary to place the ad in a particular position.

The ad campaign management system may also perform campaignoptimization, step 1354. During this step, the ad campaign managementsystem may use the collected visitor state data, the third-partyanalytics data, quality score data as well as forecasting data todetermine how much to bid on which ads, how to allocate the campaignbudget across different ads, how to spend money over the entire periodof the campaign, etc. Furthermore, the ad campaign management system mayalso perform arbitrage between ads across various channels and tacticsto determine where the limited ad campaign budget is most effective.

The ad campaign management system may also optimize performance ofindividual ads, step 1356. To that end, the weight optimizer may be usedto adjust weights (relative display frequency) for different elementsand attributes of the ads displayed to the users and attach trackingcodes to the ads, indicating which variant of each attribute of the adwas actually served. The behavior of the end-user then may be observedand the tracking codes may be used to provide feedback on theperformance of each variant of each attribute of the ad. Furthermore,various other techniques known to those of skill in the art may be usedto optimize performance of the individual ads.

The ad campaign management system may also generate ad campaignperformance data, step 1358, and present the same to the user, step1360. For example, the system may allow advertiser to access the adcampaign information and ad campaign performance information saved inthe pods around the world, search the information, analyze theinformation, obtain reports, summaries, etc. The stored ad campaignperformance data may be presented to the user in various forms,including but not limited to, charts, tables, list, etc. In oneembodiment, the system may provide a full funnel report that willprovide a key view into how visitors of the advertiser website go frombeing a lead through to browser, shopper, and finally a paying customer.In some embodiments, the ad campaign management system of the presentinvention may provide comparisons of performance of components of adcampaigns, such as performance of particular listings, search termcreatives, channels, tactics, etc. In other embodiments, the ad campaignmanagement system may provide advertiser with various ad campaignperformance metrics, such as value per lead, return per lead, conversionrate, number of hits served by the advertiser website, cost peracquisition (“CPA”), return on advertising spend (“ROAS”), etc.

FIG. 14 is a flow diagram depicting method for replication of theaccounts across several pods according to one embodiment of the presentinvention. A pod may receive a request from an advertiser to access agiven user account, step 1410. The pod may then collect accountinformation, including ad campaign performance data from the severalpods, step 1420. The pod may then process the collected ad campaignperformance data to generate cumulative ad campaign performance data,step 1430. The step of data processing may comprise the pod delegatingsome of the processing to the backend processing system. Next, the podmay present the cumulative ad campaign performance data to theadvertiser, step 1440. In the event that the advertiser attempts to makeany changes to given account, the pod receives the updated content andinformation, step 1450. For example, the advertiser may wish to updatebid values for one or more advertisements in a given ad campaign. Thepod may then determine whether changes made to the account effect anyother pods containing replicas of the given account, step 1460. In theevent such changes do affect other pods, the changes are replicated tothe effected pods, step 1470. Otherwise changes are not replicated andthe process ends.

FIG. 15 is a flow diagram depicting operation of the advertisementdistribution system according to one embodiment of the presentinvention. The distro component distributes advertisements to the one ormore ad serving systems, step 1510. The ad serving system may comprisean ad data store, sponsored search server, a content match server and aredirect server according to one embodiment of the present invention.The advertisements are stored in the data store of the ad servingsystem, step 1520. The sponsored search server and content match serverreceive advertisements requests from various advertising channels, step1530. The sponsored search server and content match server may thenquery ad data store to search for advertisements matching the searchterms provided by the advertising channels' requests, step 1540. Oncethe matching ads have been received from the data store, the sponsoredsearch server and content match server transmit these matching ads tothe advertising channel, step 1550. Once a customer clicks on theadvertisement provided by the one of the advertising channels thecustomer browser is directed to the redirect server of the ad servingsystem, step 1560. The redirect server in turn generates a click event,step 1570, and sends it to the BIG component on a given pod, step 1580.The redirect server then redirects the customer browser to theadvertised Web property, step 1590. The click event received at the podmay be used to trigger a data collection process discussed in greaterdetail herein with reference to FIG. 16.

FIG. 16 is a flowchart diagram depicting visitor state data collectionmethod in accordance with one embodiment of the present invention. Thead campaign management system may tag advertised Web properties tofacilitate automated tracking and collection of user activities oractions on the advertised Web property, step 1605. The collectedinformation may be of great value to advertisers or advertising agenciesin assessing or analyzing the performance of sponsored and content matchlistings as well as banner ads. Furthermore, in some embodiments, the adcampaign management system of the present invention may utilize thecollected information to optimize performance of one or moreadvertisements and ad campaigns.

The ad campaign management system may provide a script server operativeto receive from the tagged Web properties a request for a script, e.g.,JavaScript, which is also called instrumentation script, step 1610. Therequest for the instrumentation script may send to the script server thefirst time when an end user views a tagged page, e.g., on the first pageload for the browsing session. The script server may send the requestedinstrumentation script to the visitor's Internet browser, step 1615.After the first load, the browser may cache the script, ultimatelycreating a cookie. The script may not be downloaded again unless theuser flushes his or her browser cache. When the browser leaves a taggedpage, the instrumentation script may be halted and gather no more data.In one embodiment of the present invention, the instrumentation scriptmay be customized to collect and transmit to the ad campaign managementsystem only visitor state data that is of interest to the advertiser.

The ad campaign management system may provide an image server operativeto receive from the instrumentation script visitor state data deliveredusing 1×1 .gif image requests on events of interested to the advertiser,step 1620. In some embodiments, the instrumentation script may returntwo data packets per page view: one packet when the page loads and onepacket when the page unloads (e.g., when the visitor transitions to thenext page). Each data transmission occurs entirely in the backgroundwith no visitor impact, even for those with a slow modem connection. Ifa data transmission fails to take place, the instrumentation script mayhalt and stop gathering data.

The image server is operative to receive the image request, unload thepayload, determine the target pod and deliver the payload to the targetpod collection server, step 1630. In some embodiments, the image servermay process image request events, determine any previous visitor state,and apply any proper accreditation of the event to some marketingactivity. In one embodiment the image server may be operative toaccumulate several minutes of data going to each pod before sending itto the pod collection server, step 1625.

A pod collection server is operative to receive the analytics payloadsubmitted by the image server and to determine the correct pod to storethe collected visitor state data, step 1640. To that end, the podcollection may retrieve user account from the pod's central data storeand determine from the user account information the correct pod to storethe collected visitor state data, step 1635. Alternatively, the podcollection server may utilize a request log database table (notdepicted) to synchronize actions across several pod collection servers,so that the visitor state may be forwarded to the correct pod. Thus, inthe event the pod collection server determines that visitor state datahas been received at the correct pod, the pod collection server maystore the received data in a campaign data store for the given pod, step1645. In the event the pod collection server determines that visitorstate data has been received at the incorrect pod, the pod collectionserver will refer to the request log database to determine the correctpod assignment and may forward the received data to the pod collectionserver residing on the identified pod, step 1650.

In the foregoing specification, the invention has been described withreference to specific embodiments thereof. It will, however, be evidentthat various modifications and changes may be made thereto withoutdeparting from the broader spirit and scope of the invention. Thespecification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

1. A system comprising: multiple pods coupled to a network, each podincluding a data store for storing advertisement campaigns for users,each advertisement campaign containing user information, advertisementinformation and bid information for requesting presentation of anadvertisement upon the occurrence of a predetermined event; and anapplication program interface capable of accessing the data store; atleast one pod including a forecasting component for enabling userselection of the predetermined event; and an optimization component forassisting with selection of the bid information.
 2. The system of claim1, wherein the predetermined event includes a search term.
 3. The systemof claim 2, wherein the at least one pod further includes a keywordsuggestion module for assisting users in selecting the search term. 4.The system of claim 1, wherein the advertisement information includesadvertisement content.
 5. The system of claim 1, wherein theadvertisement information includes a link to advertisement content. 6.The system of claim 4, wherein the at least one pod further includes aneditorial processing system for automatically reviewing theadvertisement for content issues.
 7. The system of claim 1, wherein theoptimization component includes an account monitoring component forcontrolling advertisement campaign expenses in relation to budget. 8.The system of claim 1, wherein the optimization component includes acampaign optimizer for examining advertisement performance data.
 9. Thesystem of claim 1, wherein each pod further includes a user interfacecoupled to the application program interface for enabling users toaccess the advertisement campaigns.
 10. The system of claim 9, whereinthe user interface includes a custom user interface.
 11. The system ofclaim 1, further comprising an advertisement server for selectingadvertisements in response to an advertisement request from anadvertisement channel based on relevance and the bid information, andfor forwarding the advertisements to the advertisement channel.
 12. Amethod comprising: providing multiple pods coupled to a network; storingadvertisement campaigns for users on the multiple pods, eachadvertisement campaign containing user information, advertisementinformation and bid information for requesting presentation of anadvertisement upon the occurrence of a predetermined event; enablingaccess to the data store using an application program interface;enabling user selection of the predetermined event by a forecastingcomponent; and assisting with selection of the bid information using anoptimization component.
 13. The method of claim 12, wherein thepredetermined event includes a search term.
 14. The method of claim 13,further comprising assisting users in selecting the search term by akeyword suggestion module disposed on the at least one pod.
 15. Themethod of claim 12, wherein the advertisement information includesadvertisement content.
 16. The method of claim 12, wherein theadvertisement information includes a link to advertisement content. 17.The method of claim 16, further comprising automatically reviewing theadvertisement for content issues by an editorial processing systemdisposed on the at least one pod.
 18. The method of claim 12, furthercomprising controlling advertisement campaign expenses in relation tobudget by the optimization component.
 19. The method of claim 12,further comprising examining advertisement performance data by theoptimization component.
 20. The method of claim 12, further comprisingenabling users to access the advertisement campaigns by a userinterface.
 21. The method of claim 20, wherein the user interfaceincludes a custom user interface.
 22. The method of claim 12, furthercomprising selecting advertisements based on relevance and the bidinformation by an advertisement server in response to an advertisementrequest from an advertisement channel, and forwarding the advertisementsto the advertisement channel.